本文主要是介绍c++ 浙大翁恺老师 面向对象程序设计听课笔记收录(十五 十六)继承 子类父类关系,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
c++ 浙大翁恺老师 面向对象程序设计听课笔记收录(十五 十六)继承 子类父类关系
(十五)
组合是类里的成员变量,这个成员变量是其他类的对象。
继承使用已有的类,拿出来在加一点改造。
interface中有data,有function 。
超集,Astudent是Bperson的超集,往往B是A的父类,也就是A需要在B的基础上再加上新的定义或限制才能变成A(作功能扩充)。
继承:即B类的子子孙孙,A类也是无法直接访问B类的private(成员变量),但是A类继承了B类的方法,可以通过B类的set函数修改这个成员变量
类的组合:即C类(client class)使用A类,那么直接访问A类扩展的pub2,与A类继承自B类的pub
(十六)
继承的类的构造函数的调用只能放在initialize list 里面,通过initialize list来传递参数给父类构造函数中的参数。(子类中构造父类的成员变量,也应该放在initialize list**里面构造, 构造的顺序按照先父类,后子类,子类的成员变量按照写在构造函数中的顺序来)
构造顺序是:1、父类构造;2、子类构造;
析构顺序反过来。
子类未定义函数,则使用父类函数;若子类定义函数与父类重名或冲突,则使用子类的函数;若父类函数有带参合未带参两种(该函数及该函数的重载),子类函数只有一种未带参的,那么使用子类带参函数则会出现error;因为子类带参函数没有定义。
如果此时还想继续使用父类重载带参函数,则使用b.A::print(100)即 对象.类::函数(带参)
这篇关于c++ 浙大翁恺老师 面向对象程序设计听课笔记收录(十五 十六)继承 子类父类关系的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!