这两天偶尔翻看一本C++的书籍时,看到一个继承的知识点竟有点陌生的感觉。也许是之前恰好没接触过,也许是太久没接触罢了,现在究竟是忘记了。应该记下来,以作备忘,顺便罗嗦一下继承的概念,嗯嗯。
那就是C++中的访问声明。
众所周知,C++有三种继承方式,公有继承,保护继承,私有继承。公有继承,基类的公有和保护成员在派生类的性质不变。保护继承,基类的公有和保护成员在派生类均变成保护成员。保护成员是专为继承机制而设的,使其在派生类中可见,类外不可见。私有继承,基类的所有成员在派生类均变成私有成员。
问题在于,当我用某种继承方式时,却想把基类的某个成员变成另外一种访问方式,怎样去实现呢?于是,这就用到了访问调节机制。
class A
{
publice:
int get_data(int x,int y);
int data;
}
class B:private A
{
publice:
A::get_data;
int get_s(){return s;};
int set_s(){s=x*y;};
private:
int s;
};
显然,如果不在B的publice里加入 A::get_data,那么get_data在B里将成为私有成员。而通过访问声明可以把它变成公有。
需要注意的是:
访问声明不可把声明对象说明为任何类型,也不能带参数和返回类型说明等。
基类私有成员不能用于访问声明。
不可降低或提升基类成员的可访问性,例如不能把基类的公有成员声明为保护,不能把保护声明为公有等。
对重载函数名的访问声明将调整基类所有同名函数的访问域,但基类有不同访问域的函数则不能用于访问声明,派生类有与基类的同名函数也不能用于访问声明。
看来已罗嗦了不少,啊!
分享到:
相关推荐
C++继承与多态性实验报告
c++ 继承多态 深度思考c++ 继承多态 深度思考c++ 继承多态 深度思考c++ 继承多态 深度思考
在Qt中编写的c++继承的视频
关于c++继承的一个实例,适用于初学者,刚刚学习面向对象程序设计的人
08_31_C++ 继承的二义性08_31_C++ 继承的二义性08_31_C++ 继承的二义性08_31_C++ 继承的二义性08_31_C++ 继承的二义性08_31_C++ 继承的二义性08_31_C++ 继承的二义性08_31_C++ 继承的二义性08_31_C++ 继承的二义性08...
C++ 继承详解 C++ C++ 继承详解 C++ 继承详解 继承详解
C++继承与派生课件 很值得下载 C++继承与派生课件 很值得下载
C++中继承与派生的PPT课件 欢迎新手们参考
c++继承描述
在Qt中编写的c++继承分类的视频
c++继承与派生,上机操作题,帮助理解继承与派生
c++程序设计 继承与派生实验(二) 1. 进一步掌握类的派生与继承的概念、应用方法 2. 掌握继承方式对成员访问权限的影响 3. 掌握虚基类的用法
C++继承,虚函数与多态性专题.C++继承,虚函数与多态性专题.
C++实现的一个继承与多态的例子,内容详细且易懂
利用C++中的继承与多态,实验构造函数的作用
信息科学技术学院《程序设计实习》,C++程序员入门级教程
c++继承与派生习题答案
入门基础实例 有关继承和派生的应用小程序 希望对大家有帮助
C++继承与多态C++继承与多态C++继承与多态C++继承与多态C++继承与多态C++继承与多态
c++上的一道题,网上尚未有答案,来自郭文平老师的书