C++ 友元类,友元函数
2016-06-24 09:59
513 查看
//友元函数 友元类 #include<iostream> using namespace std; class PointB { public: friend class PointC; //类PointC是类PointB的友元类--意味着类PointC对象可以调用PointB中所有的成员 void Test(){ ; } private: int x; int y; }; class PointC { public: void printfPointB(){ //调用其友元类的私有属性 cout << pb.y << endl; //调用PointB的成员函数 pb.Test(); } private: PointB pb; }; class PointA { public: //友元函数 friend void Friendfun(PointA* pin); int GetA(){ return a; } int GetB(){ return b; } private: int a; int b; }; //friend 关系户 //const(C语言)冒牌货 //register cpu身边的小太监(寄存器) //typedef 混号王(起别名) //友元函数 //友元必须有一个参数,就是友元函数所在类的对象指针(不然无法访问对象的私有属性) //友元函数是一个全局函数 //友元函数破坏类的封装性 void Friendfun(PointA* pin){ //可以直接访问类的私有成员 pin->a = 10; pin->b = 20; } void protectA(){ PointA *p1 = new PointA(); Friendfun(p1); cout << "a=" << p1->GetA() << ";b=" << p1->GetB() << endl; if (p1!=NULL) { delete p1; } } void main(){ protectA(); system("pause"); }
相关文章推荐
- 《C++ Primer Plus》学习笔记 2.1.1 main()函数
- C语言和C++的几点不同之处,const,register,三目运算符,&引用
- ubuntu下装32位libstdc++.so.6
- Excel9.h Excel9.cpp
- c链表(创建、显示、释放)
- va_start和va_end使用详解
- 关于C++编译的程序无法在新一台电脑上运行总结
- C++有关char变量地址输出的问题
- 关于判断字符串是否为空
- [C/C++] String Reverse 字符串 反转
- C++ 继承派生多态
- C++_友元函数
- Sublime Text 3 配置C++环境,以后写一些小算法小程序就方便多了
- C++一些问题
- [代码实例][C语言]计算文件的MD5值
- C++ 内存布局:内存布局基础
- C++与C有什么不同
- Algorithm: STD C++文件夹内容读取.
- C/C++语言中“:”的使用方法
- C++基本数据表达式