首页 > 编程语言 > 详细

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

时间:2020-05-05 10:35:28      阅读:75      评论:0      收藏:0      [点我收藏+]

类型转换

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

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

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

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

类型转换规则举例

技术分享图片
 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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!