0
点赞
收藏
分享

微信扫一扫

C++学习(4)——继承

at小涛 2022-01-31 阅读 69
c++

目录

类与类之间的关系

继承

三种继承方式的关系

派生类

如何让程序走带参数的基类重载构造函数?

类指针


类与类之间的关系

继承(一个类的属性是继承父类过来的):比如编辑框类、标签类、按钮类与控件类的关系

复合(一个类包含其他类):比如窗口和控件之间的关系

继承

1、分类

        单继承(只有一个父类)

        多继承(有多个父类)  比如:复印打印一体机继承复印机和打印机

2、子类和父类

        父类也叫基类,是被继承者。子类也叫派生类,是继承者。

3、继承意义

        减少代码冗余,提高程序开发效率

4、何时可以用继承

        若在逻辑上B是A的“一种”,并且A的所有功能和属性对B而言都有意义,只是B类多了一些独有的特性,则允许B继承A的功能和属性。

5、继承方式

        public(常用)、protected、private

6、注意点

        构造和析构不能被继承

三种继承方式的关系

派生类

1、书写格式

Class 派生类名 :继承方式 基类名      注:继承方式有public、protected、private,一般用public

{

派生类独有属性的声明;

};  分号不要漏

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

2、注意点

  1. 基类中的数据成员要在派生类用到的话,基类的数据成员访问权限要写成protected
  2. 如果派生类中没有重定义基类中的函数,那么调用的时候是走基类中的函数。如果派生类中有重定义该函数,那么调用的时候就走派生类重定义的函数。重定义的首部基类和派生类要一样
  3. 派生类创建对象会先走基类的构造,再走派生类的构造。释放对象的时候先走派生类的析构,再走基类的析构。
  4. 基类的数据成员初始化可以在基类的构造函数直接初始化,派生类就不用再初始化了。(数据成员在哪个类中,就在哪个类初始化

如何让程序走带参数的基类重载构造函数?

书写格式:

派生类名::派生类名(参数列表)

:基类名(参数列表)

{

代码区;

}

具体代码如下:(以标签为例)

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

类指针

基类指针操作派生类对象,把派生类对象赋值给基类对象(安全)——多余的部分无法访问

派生类指针操作基类对象,把基类对象赋值给派生类对象(危险)——多态

举报

相关推荐

C++——继承

【C++】继承

C++继承

C++ - 继承

0 条评论