C++(基类与派生类类型的转换)

类型转换

1.公有派生类对象可以被当作基类的对象使用,反之则不可

  派生类的对象可以隐含转为基类对象

  派生类的对象可以初始化基类的引用

2.通过基类对象名、指针只能使从基类继承的成员

类型转换规则举例

C++(基类与派生类类型的转换)

 1 #include <iostream>
 2 using namespace std;
 3 
 4 class Base1{//基类Base1定义
 5 
 6 public:
 7     void display()const {
 8         cout << "Base1::display()" << endl;
 9     }
10 };
11 
12 class Base2:public Base1{//公有派生类Base2定义
13 public:
14     void display() const{//公有派生类Base2定义
15         cout << "Base2::display()" << endl;
16     }
17 };
18 
19 class Derived :public Base2 {//公有派生类Dervied定义
20 public:
21     void display() const {
22         cout << "Derived::display()" << endl;
23     }
24 
25 };
26 
27 void fun(Base1 *ptr) {//参数为指向基类对象的指针
28     ptr->display();//"对象指针->成员名"
29 
30 }
31 
32 int main() {  //主函数
33     Base1 base1; //声明 Base1类对象
34     Base2 base2; //声明 Base2类对象
35     Derived derived; //声明Derived类对象
36 
37     fun(&base1);
38     fun(&base2);
39     fun(&derived);
40 
41     return 0;
42 }

convert

C++(基类与派生类类型的转换)

原文链接: https://www.cnblogs.com/xuelanga000/p/12829091.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    C++(基类与派生类类型的转换)

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/346447

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月2日 上午3:54
下一篇 2023年3月2日 上午3:54

相关推荐