[c++]友元函数
来源:互联网 发布:网络交友的利与弊观点 编辑:程序博客网 时间:2024/04/28 11:54
其中有2个类:一个是深圳类shen_stock,一个是上海类shang_stock,类中有3个私有成员:普通股票个数general,ST股票个数st和PT股票个数pt,每个类分别有自己的友元函数来计算并显示深圳或上海的股票总数(3项的和)。两个类还公用一个函数count(),用来计算深圳和上海总共有多少股票并输出
#include<iostream>using namespace std;class shen_stock{ class shang_stock;private: int general; int st; int pt; public: shen_stock(int g,int s,int p) { general = g; st = s; pt = p; } int get_g() {return general;} int get_s() {return st;} int get_p() {return pt;} friend void add_shen(shen_stock & s); friend void count(shen_stock & s,shang_stock &ss);};class shang_stock{ class shen_stock;private: int general; int st; int pt;public: shang_stock(int g,int s, int p) { general = g; st = s; pt = p; } int get_g() {return general;} int get_s() {return st;} int get_p() {return pt;} friend void add_shang(shang_stock &s); friend void count(shen_stock & s,shang_stock &ss); };//void add_shen(shen_stock & s){ cout<<"shen_stock is "<<s.get_g() + s.get_p() + s.get_s()<<endl;}//void add_shang(shang_stock &s){ cout<<"shang_stock is "<<s.general + s.st + s.pt<<endl;}//void count(shen_stock &s,shang_stock &ss){ //s.general +s.pt + s.st + ss.general + ss.pt + ss.st;私有成员要通过共有成员访问 cout<<"shang_stock and shen_stock is "<<s.get_g()+s.get_p()+s.get_s()+ss.get_g()+ss.get_p()+ss.get_s()<<endl;}////int main(){ void count(shen_stock &s,shang_stock &ss); shang_stock s1(1600,20,10); shen_stock s2(1500,15,8); add_shang(s1); add_shen(s2); count(s2,s1);//注意别写反了 return 0;}
注意:
1 定义在哪个类的内部,就可用该类内的私有成员(类内)
2 格式为函数名前加friend关键字
3 不需要作用域表示符,无this指针
1 0
- [c++]友元函数
- 【C++】友元函数
- c++:友元函数
- C++:友元函数
- 【C++】友元函数
- C++_友元函数
- C++_友元函数
- C++_友元函数
- C++_友元函数
- C++_友元函数
- C++_友元函数
- 友元函数(C++)
- C++_友元函数
- C++_友元函数
- C++_友元函数
- C++_友元函数
- C++_友元函数
- C++_友元函数
- 输入一行字符,统计其中有多少个单词,单词之间用空格分开
- JAVAScript 中的保留字
- java枚举使用详解
- 苹果虚拟机安装教程
- 表达式之谜
- [c++]友元函数
- VC维
- android开发环境系统变量配置
- iOS 高级开发 runtime(三)
- C语言之常用函数汇总
- 【iOS延迟发生】iOS开发中经常用到的延迟发生某些事实现方法
- 求两个数的平均值
- Socket send函数和recv函数协议角度解释
- socket