派生类与派生类对象对基类成员的访问

简介:

区分“派生类对象”和“派生类”对基类成员的访问权限。  

 “派生类对象”对基类成员的访问权限:     

(1)对于公有继承,只有基类的公有成员可以被“派生类对象”访问,其他(保护和私有)成员不能被访问。     

(2)对于私有继承和保护继承,基类中所有成员都不能被“派生类对象”访问。  

 “派生类”对基类中成员的访问权限:    

(1)对于公有继承,基类中的公有成员和保护成员可以被“派生类”访问,而基类中的私有成员不能被访问。    

(2)对私有继承和保护继承,也是基类中的公有成员和保护成员可以被“派生类”访问,而基类中的私有成员不能被访问。

相关文章
|
1月前
|
编译器 C++
51基类与派生类的转换
51基类与派生类的转换
8 0
|
7月前
|
安全 Java 编译器
C++将派生类赋值给基类
在 C/C++ 中经常会发生数据类型的转换,例如将 int 类型的数据赋值给 float 类型的变量时,编译器会先把 int 类型的数据转换为 float 类型再赋值;反过来,float 类型的数据在经过类型转换后也可以赋值给 int 类型的变量。 数据类型转换的前提是,编译器知道如何对数据进行取舍。例如: int a = 10.9; printf("%d\n", a); 输出结果为 10,编译器会将小数部分直接丢掉(不是四舍五入)。再如: float b = 10; printf("%f\n", b); 输出结果为 10.000000,编译器会自动添
103 0
|
8月前
|
编译器 C++
C++的基类和派生类构造函数
基类的成员函数可以被继承,可以通过派生类的对象访问,但这仅仅指的是普通的成员函数,类的构造函数不能被继承。构造函数不能被继承是有道理的,因为即使继承了,它的名字和派生类的名字也不一样,不能成为派生类的构造函数,当然更不能成为普通的成员函数。 在设计派生类时,对继承过来的成员变量的初始化工作也要由派生类的构造函数完成,但是大部分基类都有 private 属性的成员变量,它们在派生类中无法访问,更不能使用派生类的构造函数来初始化。 这种矛盾在C++继承中是普遍存在的,解决这个问题的思路是:在派生类的构造函数中调用基类的构造函数。 下面的例子展示了如何在派生类的构造函数中调用基类的构造函数:
48 0
|
1月前
|
编译器 C++
27类的成员函数
27类的成员函数
14 0
|
9月前
|
C++
<c++> 类的继承 | 基类与派生类 | 构造函数与析构函数
<c++> 类的继承 | 基类与派生类 | 构造函数与析构函数
96 0
|
10月前
|
C++
基于C/C++将派生类赋值给基类的详细讲解
基于C/C++将派生类赋值给基类的详细讲解
|
11月前
基类与派生类对象的关系 派生类的构造函数
🐰 基类与派生类对象的关系 🐰派生类的构造函数
|
C++
C++类-成员,成员函数,构造函数,析构函数
C++类-成员,成员函数,构造函数,析构函数
125 0
|
C++ Python
C++派生类对基类的访问详解
C++派生类对基类的访问详解
407 0
关于纯虚函数继承子类 ,父类指向子类后 将父类指针转为子指针,就可以调用子类其他接口
关于纯虚函数继承子类 ,父类指向子类后 将父类指针转为子指针,就可以调用子类其他接口
关于纯虚函数继承子类 ,父类指向子类后 将父类指针转为子指针,就可以调用子类其他接口

热门文章

最新文章