今天,是充满希望的一天。
上学学习了继承和派生
笔记内容:
class 派生类名:继承方式 基类名
{ 派生类中的新成员 }
三种继承方式:
公有继承:public
私有继承:private
保护继承:protected
派生类继承了基类的除了构造函数、析构函数、拷贝构造函数和赋值运算符重载函数之外的所有成员,
因此派生类对象由两部分组成:一部分是由基类继承的成员,另一部分是派生类新增加的自己特有的成员。
1.当类的继承方式为公有继承时,基类的公有和保护成员的访问属性在派生类中不变,而基类的私有成员不可访问。
继承的本质实际上就是由上到下完全的复制;但是在对内可见性上做了手脚,对外可见性则没有改变。
c++提供了类的继承机制,解决了软件的复用问题。
自动的、滚动式的重用代码,增强代码,使得编程方式根本转变,分析问题、解决问题的模式从功能模式转向面向对象的结构模式
宇宙万事万物都是分类分层的,解决问题可以从事物之间的上下关系中着手.这是继承引入程序设计的前提.
保持已有类的特性而构造新类的过程称为继承。
在已有类的基础上新增自己的特性而产生新类的过程称为派生。
被继承的已有类称为基类(或父类)。
派生出的新类称为派生类。
一般情况下,继承的进程起源于一个基类的定义,
基类定义了其所有派生类的公有特性。
从本质上讲,基类具有同一类集合中的公共特性,
派生类继承了这些属性,并且增加了自己特有的属性。
从任何已存在的类继承的实质就是建造新的派生类。
赋值兼容规则是指需要基类对象的任何地方都可以使用公有派生类的对象来替代。
里氏代换原则:在软件里面,把基类都替换成它的子类,程序的行为没有变化。
2.当类的继承方式为保护继承时,基类的公有和保护成员都以保护成员身份出现在派生类中,而基类的私有成员不可访问。
3.当类的继承方式为私有继承时,基类的公有和保护成员都以私有成员身份出现在派生类中,而基类的私有成员不可访问。
protected继承和private继承得到的类都不是子类
“凡是父类对象可以出现的地方可以用子类对象代替”,不再适用
继承类型省略时默认为私有继承
public继承使用最多、最重要
继承时的构造函数:
基类的构造函数不被继承,需要在派生类中自行声明。
声明构造函数时,只需要对本类中新增成员进行初始化,对继承来的基类成员的初始化由基类完成。
单继承时的构造函数
派生类名::派生类名(基类所需的形参,本类成员所需的形参):基类名(参数){本类成员初始化赋值语句;};
派生类构造函数执行的一般顺序是:
(1)基类构造函数,
(2)派生类对象成员类的构造函数(如果有的话)。
(3)派生类构造函数体中的内容。
释放派生类对象时,析构函数的执行顺序是:
先执行派生类的析构函数,
再执行对象成员类的析构函数(如果派生类有对象成员的话),
最后执行基类的析构函数,其顺序与执行构造函数时的顺序正好相反.
我也许个愿,许愿星辰腰带!!!