c++ 友元
来源:互联网 发布:win7旗舰版激活软件 编辑:程序博客网 时间:2024/05/16 09:21
友元机制允许一个类将对其非共有成员的访问权授予指定的函数或类
#include <string> #include <iostream> using namespace std; class B; class A{ private: int x; public: A(); void display(B &); }; class C; class B{ private: int y; int z; public: B(); B(int, int); friend void A::display(B &);//友元成员函数 friend void display(B &);//友元函数 friend class C;//友元类 }; class C{ private: int sum; void calc(B &); public: C(); void display(B &); }; //必须在友元关系的类后进行定义 void display(B &v)//友元函数 { cout << v.y << " " << v.z << endl; } A::A() { this->x = 0; } void A::display(B &v)//友元成员函数 { this->x = v.y + v.z; cout << this->x << endl; } B::B() { this->y = 0; this->z = 0; } B::B(int y, int z) { this->y = y; this->z = z; } C::C() { sum = 0; } void C::display(B &v) { this->calc(v); cout << sum << " = " << v.y << " + " << v.z << endl; } void C::calc(B &v) { sum = v.y + v.z; } int main() { A a; B b(2, 3); display(b); a.display(b); C c; c.display(b); return 0; }
输出:
pateo@pateo-B86N53X:~/work/study$ g++ main.cc -o mainpateo@pateo-B86N53X:~/work/study$ ./main2 355 = 2 + 3
- C++(一)友元
- [C++]友元学习
- [c++]友元函数
- [c++] 友元详解
- 【C++】友元函数
- c++:友元函数
- C++:友元函数
- C++:友元
- C/C++ 友元
- 【C++】友元函数
- C++:友元
- C++----友元
- 【C++】C++友元
- C++_友元函数
- C++_友元函数
- C++_友元函数
- C++_友元函数
- C++_友元函数
- D3DPRESENT_PARAMETERS详解
- Can't Change to Run as User 'Mysql'. Please Check That the User Exists!
- c++中箭头操作符(->) VS 点操作符(.)
- linux修改locale 解决文件乱码问题
- 中国高铁票价世界最低
- c++ 友元
- 即时通讯中音频编码标准发展现状及发展趋势
- Win Phone8 SDK官网地址
- Hadoop 用FileStatus类来查看HDFS中文件或目录的元信息
- 使用struts2 json 插件 配置说明
- php5文件上传
- Android中的内存使用状况统计
- C# 特性(Attribute)学习。
- 解决 apache2/modules/libphp5.so:cannot restore segment prot after reloc: Permission denied的方法