C++访问声明

为什么用访问声明?

对于私有继承,基类的公有成员函数变成了派生类的私有成员函数,这时外界就无法利用派生类的对象直接调用基类的成员函数,而只能通过调用派生类的成员函数间接地调用基类的成员函数。

访问声明的作用:

把基类的保护成员或公有成员直接写至私有派生类定义式中的同名段中,同时给成员名前冠以积累名和作用域标识符::

eg:

class A{

public:

A(int x1)

{x = x1;}

void print()

{cout<<x;}

private:

int x;

};

class B:private A{

public:

B(int x1, int y1) : A(x1)

{y = y1;}

A::print; //访问声明,把基类的公有成员函数print调整为私有派生类的公有成员函数

private:

int y;

};

int main()

{ B b(1,2);

b.print(); //调用基类的成员函数print

return 0;

}

输出结果:1

关于访问声明需要注意几点:

1.数据成员也可以使用访问声明

2.访问声明中只含不带类型和参数的函数名或变量名

3.不能对基类的私有成员使用访问声明

4.对于基类中的重载函数名,访问声明将对基类中所有同名函数起作用

总的来说,访问声明就是把原基类的保护成员调整为私有派生类的保护成员,把原基类的公有成员调整为私有派生类的公有成员

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值