009_linuxC++之_友元函数】的更多相关文章

(一)定义:友元函数是指某些虽然不是类成员却能够访问类的所有成员的函数.类授予它的友元特别的访问权.通常同一个开发者会出于技术和非技术的原因,控制类的友元和成员函数(否则当你想更新你的类时,还要征得其它部分的拥有者的同意). (二)使用非友元函数将两个对象中的变量进行相加 #include <iostream> #include <string.h> #include <unistd.h> using namespace std; class Point { priva…
1.为什么要引入友元函数:在实现类之间数据共享时,减少系统开销,提高效率       具体来说:为了使其他类的成员函数直接访问该类的私有变量       即:允许外面的类或函数去访问类的私有变量和保护变量,从而使两个类共享同一函数       优点:能够提高效率,表达简单.清晰       缺点:友元函数破环了封装机制,尽量不使用成员函数,除非不得已的情况下才使用友元函数. 2.什么时候使用友元函数:       1)运算符重载的某些场合需要使用友元.       2)两个类要共享数据的时候 3…
 原文地址:http://blog.csdn.net/insistgogo/article/details/6608672   1.为什么要引入友元函数:在实现类之间数据共享时,减少系统开销,提高效率 具体来说:为了使其他类的成员函数直接访问该类的私有变量 即:允许外面的类或函数去访问类的私有变量和保护变量,从而使两个类共享同一函数 优点:能够提高效率,表达简单.清晰 缺点:友元函数破环了封装机制,尽量不使用成员函数,除非不得已的情况下才使用友元函数. 2.什么时候使用友元函数: 1)运算符重载…
1.为什么要引入友元函数:在实现类之间数据共享时,减少系统开销,提高效率 具体来说:为了使其他类的成员函数直接访问该类的私有变量 即:允许外面的类或函数去访问类的私有变量和保护变量,从而使两个类共享同一函数 优点:能够提高效率,表达简单.清晰 缺点:友元函数破环了封装机制,尽量不使用成员函数,除非不得已的情况下才使用友元函数. 2.什么时候使用友元函数: 1)运算符重载的某些场合需要使用友元. 2)两个类要共享数据的时候 3.怎么使用友元函数: 友元函数的参数: 因为友元函数没有this指针,则…
1:String类型 #include <iostream> using namespace std; int main() { //初始化方法 string s1 = "hello";//默认构造方法 string s2(s1);//将s2初始化为s1的一个副本 string s3("value");//将s3初始化为字符串的副本 ,'x');//将字符串初始化为字符x的10个副本 cout << s1 << "\t&…
#include <math.h> #include<iostream> using namespace std; class Point { public: Point(double xx, double yy) { x=xx; y=yy; } void Getxy(); friend double Distance(Point &a, Point &b); //类Point的友元函数 friend class You; //类Point的友元类 private:…
c++友元函数分两类: 一://友员全居函数 /*#include <iostream>using namespace std;class aaa{    friend void print(aaa&t);//定义一个友员函数    int x;    public:        aaa(){x=10;}        ~aaa(){}};void print(aaa&t)//写一个全局的友员函数{    cout<<"x:"<<t…
类成员函数: bool operator ==(const point &a)const { return x==a.x; } 友元函数: friend bool operator ==(const point &a,const point &b) { return a.x==b.x; } 两种重载方式的比较: (1)单目运算符.=.().[].->使用类成员函数,其它双目运算符使用友元函数 (2)类型转换函数只能定义为类成员函数 (3)运算会修改类成员是使用类成员函数 (4…
[源码下载] 不可或缺 Windows Native (20) - C++: 友元函数, 友元类 作者:webabcd 介绍不可或缺 Windows Native 之 C++ 友元函数 友元类 示例演示友元函数, 友元类CppClass4.h #pragma once #include <string> using namespace std; namespace NativeDll { class CppClass4 { public: string Demo(); }; } CppClas…
这篇文章主要介绍了C++友元函数与拷贝构造函数,需要的朋友可以参考下   一.友元函数 1.友元函数概述: (1)友元函数是定义在一个类外的普通函数.友元函数和普通函数的定义一样;在类内必须将该普通函数声明为友元. (2)友元函数不是成员函数.不能通过对象来调用,而是直接调用;友元函数可以访问类的公有.受保护以及私有成员,但是必须通过对象.对象指针或者对象引用来访问. 2.友元函数的声明: friend 返回值类型 函数名(参数表);在类中只需要将这个声明放置在公有部分即可. ? 1 2 3 4…