类的继承,是新的类从已有类那里得到已有的特性,从已有类产生新类的过程就是类的派生。派生类的定义:
class 派生类名:继承方式 基类名1,继承方式 基类名2,.......
{
派生类成员声明;
}
继承方式规定了如何访问从基类继承的成员,public,protected和private分别表示公有继承、保护继承和私有继承。
1、公有继承——基类的共有成员和保护成员的访问属性在派生类中不变,基类的私有成员不可直接访问。
2、私有继承——基类中的公有成员和保护成员都以私有成员身份出现在派生类中,而基类的私有成员在派生类中不可直接访问。
3、保护继承——基类的共有成员和保护成员都以保护成员的身份出现在派生类中,基类的私有成员不可直接访问。
如果想要访问基类中的成员,使用形式:
类名::成员名
类名::成员名(参数表)
#include<iostream>
using namespace std;
class Base1 //定义基类Base1
{
public:
int var;
void fun()
{
cout << "Menber of Base1" << endl;
}
};
class Base2
{
public:
int var;
void fun()
{
cout << "Member of Base2" << endl;
}
};
class Derived :public Base1, public Base2 //定义派生类
{
public:
int var;
void fun()
{
cout << "Member of Derived" << endl;
}
};
int main()
{
Derived d;
Derived *p = &d;
d.var = 1; //对象名.成员名标识
d.fun(); //访问Derived类成员
d.Base1::var = 2; //作用域分辨符标识
d.Base1::fun(); //访问Base 1基类成员
p->Base2::var = 3; //作用域分辨标识符
p->Base2::fun(); //访问Base2基类成员
system("pause");
return 0;
}