18-2.txt

来自「c和c++完美演绎,里面有编程的方法,对编程技术的提高有很大的帮助」· 文本 代码 · 共 37 行

TXT
37
字号
/* 范例:18-2 */
#include <iostream.h>
class A
{
  friend class B;  /* 将类B设为类A的友元,类B尚未完全定义 */
  private:
    int num1;
  public:
    A():num1(0){}
    A(int i):num1(i){}
};
class B
{
  private:
    int num2;
  public:
    B():num2(0){}
    B(int i):num2(i){}
    int my_math(A obj1,B obj2);

};
int B::my_math(A obj1,B obj2)
{
  return (obj1.num1+obj2.num2);  
  /* 类B是类A的友元,所以obj1可以存取类A中的private区的数据成员num1 */
}
void main(void)
{
  A obj1(4);
  B obj,obj2(5);
  cout <<"obj1+obj2:" <<obj.my_math(obj1,obj2);
  getchar();
}
程序执行结果:
obj1+obj2:9

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?