继承概念:继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能。这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。(简单来说,就是在原有的基础上,增加新的功能)
继承的格式例: classs Dress : public Base
继承类型:public ,private, protected
其继承后成员访问属性如图:
同名隐藏: 子类和父类中有同名成员,子类成员将屏蔽父类对成员的直接访问。(在子类成员函数中,可以
使用 基类::基类成员 访问)--隐藏 --重定义
在下面程序中,基类和派生类中都有ShowBase(),通过派生类的对象调用此函数,打印结果显示调用的是派生类中的ShowBase.
class Base
{
public:
Base()
{
cout << "B()" << endl;
}
~Base()
{
cout << "~B()" << endl;
}
void ShowBase()
{
cout << "_pri" << _pri << endl;
cout << "_pro" << _pro << endl;
cout << "_pub" << _pub << endl;
}
private:
int _pri;
protected:
int _pro;
public:
int _pub;
};
class Derived :public Base
{
public:
Derived()
{
cout << "D()" << endl;
}
~Derived()
{
cout << "~D()" << endl;
}
void ShowBase()
{
cout << "_d_pri" << _d_pri << endl;
cout << "_d_pro" << _d_pro << endl;
cout << "_d_pub" << _d_pub << endl;
}
private:
int _d_pri;
protected:
int _d_pro;
public:
int _d_pub;
};
int main()
{
Derived d;
d.ShowBase();
system("pause");
return 0;
}
结果显示: