1. 基类
官方解释是:在面向对象设计中,被定义为包含所有实体共性的class类型,被称为“基类”。
这个解释通俗
的说就是:里面有public
和private
或者protected
之类具体函数和变量定义的类,例如:
class Base
{
public:
void f(int x){ cout << "Base::f(int) " << x << endl; }
void f(float x){ cout << "Base::f(float) " << x << endl; } //普通函数
virtual void g(void){ cout << "Base::g(void)" << endl;} //虚函数
private:
int a;
};
其中class Base
就是基类
2. 继承
在C++中使用
:
冒号表示继承,如class A:public B;表示派生类A从基类B继承而来;继承分为
单继承
和多继承
两种继承Base和Derived必须有同名虚函数,即
只有虚函数
才能在继承过程
中被覆盖
(其中虚函数是在基类中使用关键字Virtual声明的函数,在派生类中重新定义基类中定义的虚函数时,会告诉编译器不要静态链接到该函数),只有虚函数才能继承。
2.1 单继承
定义格式
class <派生类名>:<继承方式><基类名>
{
<派生类新定义成员>
};
其中,<派生类名>
是新定义的一个类的名字,它是从<基类名>
中派生的,并且按指定的<继承方式>
派生的。<继承方式>
常使用如下三种关键字给予表示:
- public 表示公有基类;
- private 表示私有基类;
- protected 表示保护基类;
例子
//基类:
class Base
{
public:
//普通函数
void f(int x)
{
cout << "Base::f(int) " << x << endl;
}
//普通函数重载overloaded