软件重用方式(composition是一种非常重要的软件重用方式, 继承也是软件重用方式)
Fully 本身 by reference 指针任何指针大小都一样。
如果类里面有成员变量是对象,它就应该在初始化列表里面得到初始化,
composition是拿几个对象组合成一个新对象
继承
继承是拿已有的类来,在这个类上做一些改造,得到一个新的类。
- reusing the interface 重用接口
- Inheritance 继承
**member functions 可以有public 也可以有private, public部分构成了 interfaces **
如果从一个类继承,就可以共享那个类原先设计好的 member data, member functions interfaces
继承就是用一个类来定义新的一个类的手段, 那么一种过程。
student 继承了person,继承一个类必须对原来 的类进行扩充,student是superset;学生都是人,具有人的一切属性。但是学生都会考试,不是所有人都会考试。
student 是一个继承者,superset是一个被继承者。
新的类放在下面,老的类放在上面
Base class(基类)分为super class(超类)和parent class(父类)
Derived class(派生类) 分为 sub class 和 child class(子类)
这样以后B就是A的子类了.
- 一个类继承另一个类是得到了它的所有东西,包括public的成员接口,包括private的成员变量。但是父类里面的private在子类里面是存在的,但是不能碰
父类子类关系
- 当构造一个子类的对象时,它的父类的构造函数是会被调用的
对C++来说,当子类和父类当中出现了同名同参数的函数时,那么子类当中就只有那一个函数了,即父类函数就隐藏掉了(只有C++这么干)
函数重载和默认参数
- 函数重载指的是一些函数可以具有相同的函数名,然后它们有不同的参数表,这个参数表里参数的个数,参数的类型都不一样,构成了overload的关系(重载函数返回类型必须相同)。
- default argument 默认参数
Stash(int size, int query = 0)
(可以在函数的参数表里面给参数一个值 只能写在.h里面,不能写在.cpp里面