@songying
2019-02-21T06:02:11.000000Z
字数 708
阅读 1186
未分类
默认情况下类的成员都是private的
| 修饰符 | 说明 |
|---|---|
| public | 成员变量或函数在程序类的外部是可访问的。我们常用public来定义类的接口。 |
| private | 成员变量或函数在类外部是不可访问的,只有类和友元函数可以访问私有成员,子类也不可访问。我们常用private封装类的实现细节。 |
| protected | 成员变量或函数在子类中是可以访问的,外部的其余类不能访问 |
| 继承方式 | 说明 |
|---|---|
| public 继承 | 成员的访问属性不发生变化 |
| protected 继承 | public成员的属性变为protected, 其余成员属性不变 |
| private 继承 | 所有成员属性变为private |
class 子类名 : 访问修饰符 父类名{}
class 子类名:访问修饰符 父类名,访问修饰符 父类名,… {};
多态指的是对象在调用成员函数时,会根据调用函数的对象的类型来执行不同的函数。

重载是指一个函数或方法具有相同名称,但是它们的参数列表和实现不相同。编译器在编译期间完成,其根据实参类型推断出要调用的函数。
// 函数重载class class_name{public:type func_name(type val){}type func_name(type val){}}// 运算符重载class class_name{public:type operator+(type val);
在程序执行期间(非编译期) 判断对象的实际类型,再根据实际类型调用相应的方法。
class class_name{public:virtual type func_name();virtual type func_name() = 0; // 纯虚函数}
