友元类及友元函数

友元函数
  • 可以访问所在类的私有成员
  • 友元的声明不受限定符限制, 可以在类的任意位置声明
友元类
  • 友元类的所有成员函数变成另一个的成员函数
  • 友元关系是单方面的,如果需要相互构成友元关系,则需要相互声明
  • 友元关系不能传递
内部类
  • 可以通过对象访问外部类的私有成员, 类似于友元类,外部类不可以访问内部类的私有成员
  • 内部类可以直接访问外部类的静态成员

class C
{
public:
	//D是内部类, D是C的友元类
	class D
	{
	public:
		void displayC(const C& c)
		{
			cout << c._c << endl;
			cout << c._sc << endl;
			cout << C::_sc << endl;
			//内部类可以直接访问外部类的static成员
			cout << _sc << endl;
		}
	private:
		int _d = 20;
	};
private:
	//E是内部类
	class E
	{
		private:
		int _e = 30;
	};
	int _c = 10;
	static int _sc;

};

int C::_sc = 100;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值