c++的类成员权限以及友元

c++中类是一种抽象的数据类型,里面包含成员变量(一般定义为私有)和一些成员函数(一般定义为公有),对于用户来说不需要了解类中具体的代码,只需要知道类的功能以及如何使用就ok了。这样就实现了类数据的隐藏和封装。

类大致包含私有(private),公有(public),保护的(protected)。访问权限如下:

class默认的成员权限为private(struct默认的成员权限为public):

private:只有该类的成员函数可以访问到;

public:对任何类都是公开的;

protected:只有该类以及类的子类中的成员函数可以访问。

以上阐述的权限也有一个特殊的情况:友元函数和友元类。

如果类外的函数A需要访问类中的私有成员,我们需要在类定义时在私有或者公有的部分声明该函数;eg:

class B {

private:

...

public:

friend void A(参数);

}

也可以在private中声明。是一样的。友元并不是类的成员函数,在实现的时候不需要加“::”作用域。另外友元不能继承。特别注意友元在实现的时候不能访问类的私有成员。 

但它可以访问类对象的私有成员。

如果类C想要访问类B的所有成员,可以做如下声明:

class B{

private:

...

public:

friend class C;

}

这样类C就是B的友元类。可以访问类B中的所有成员。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值