继承性
主要学习C++中继承如何使用
理解何为继承与派生
class <派生类名>:[继承方式] <基类名>
{
....——>增加特性
}
private public protected
默认继承私有继承
派生类从基类中继承:**除构造函数和析构函数之外的成员**
class CEmployee
{
protected:
char *name;
ind individualEmpNo;
public:
CEmplopyee();//构造函数
~CEmployee();//析构函数
void pay();
void promote(int);
void displayStatus();
};
class CTechnician:public CEmployee
{
float hourlyRate;//每小时酬金
int workHours;//每月工作时数
public:
CTechnician();//构造函数
void pay();//可重写
void displayStatus();//可重写
};
权限:
、
多继承:
class <派生类名>:[继承方式] 基类名1,[继承方式] 基类2,...,[继承方式] 基类名n
{
.....
}
class CSofa
{
...
};
class CBed
{
...
};
class B:public CSofa,public CBed
{
...
};
继承方式
主要讲解从基类继承的成员,其访问属性由继承方式控制
①公有(public)继承
基类的public和protected成员的访问属性,在子类中保持不变,基类的private成员不可直接访问
<—>子类在类中能直接访问基类中public protected成员 不能访问private成员
(如果想访问的话 子类中定义一个public成员函数用于访问基类的私有成员 子类到时候调用基类这个成员函数就行了)
<—>子类在类外(对象)只能访问public成员
#include<iostream.h>
class CVehicle
{
private:
int wheels;
protected:
float weight;
public:
CVehicle(int in_wheels,float in_weight)
{
wheels=in_wheels,weight=in_weight;}
int get_wheels(){
return wheels;}
float get_weight(){
return weight;}
};
class CCar:public CVehicle
{
int passenger_load;
public:
CCar(int in_wheels,int in_weight,int people=5):
成员初始化列表
CVehicle(in_wheels