📄 c16_11.cpp
字号:
#include <iostream >
using namespace std;
class A
{
friend class B ; //类B是类A的友元类
int m_varA;
public:
A(int i = 0):m_varA (i) { }
//存取访问函数
void SetVar(int j=0) { m_varA =j; }
int GetVar( ) { return m_varA; }
};
class B
{
int m_varB;
public:
//存取访问函数
int GetVar( ) { return m_varB; }
void SetVar(const A & a) //类A的友元函数
{
m_varB = a.m_varA;
}
};
class C:public B //类C从类B派生
{
int m_varC;
public:
//存取访问函数
void Set(){ m_varC = GetVar(); }
int Get() { return m_varC; }
};
int main()
{
A ob_a(2002);
C ob_c;
//类C中,从类B继承而来的函数SetVar( )仍然是类A的友元函数
ob_c.SetVar(ob_a);
cout << " m_varB = " <<ob_c.GetVar() <<endl;
ob_c.Set();
cout << " m_varC = " <<ob_c.Get() <<endl;
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -