@songying
2019-02-21T14:02:11.000000Z
字数 708
阅读 959
未分类
默认情况下类的成员都是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; // 纯虚函数
}