CPP 核心编程5-继承

继承示例:

//公共页面
class BasePage
{
public:
 void header()
 {
  cout << "首页、公开课、登录、注册...(公共头部)" << endl;
 }

 void footer()
 {
  cout << "帮助中心、交流合作、站内地图...(公共底部)" << endl;
 }
 void left()
 {
  cout << "Java,Python,C++...(公共分类列表)" << endl;
 }

};

//Java页面
class Java : public BasePage
{
public:
 void content()
 {
  cout << "JAVA学科视频" << endl;
 }
};
//Python页面
class Python : public BasePage
{
public:
 void content()
 {
  cout << "Python学科视频" << endl;
 }
};
//C++页面
class CPP : public BasePage
{
public:
 void content()
 {
  cout << "C++学科视频" << endl;
 }
};

void test01()
{
 //Java页面
 cout << "Java下载视频页面如下: " << endl;
 Java ja;
 ja.header();
 ja.footer();
 ja.left();
 ja.content();
 cout << "--------------------" << endl;

 //Python页面
 cout << "Python下载视频页面如下: " << endl;
 Python py;
 py.header();
 py.footer();
 py.left();
 py.content();
 cout << "--------------------" << endl;

 //C++页面
 cout << "C++下载视频页面如下: " << endl;
 CPP cp;
 cp.header();
 cp.footer();
 cp.left();
 cp.content();


}

int main() {

 test01();

 system("pause");

 return 0;
}

总结:

继承的好处:可以减少重复的代码

class A : public B;

A 类称为子类 或 派生类

B 类称为父类 或 基类

派生类中的成员,包含两大部分

一类是从基类继承过来的,一类是自己增加的成员。

从基类继承过过来的表现其共性,而新增的成员体现了其个性。

 继承中构造和析构顺序

子类继承父类后,当创建子类对象,也会调用父类的构造函数

问题:父类和子类的构造和析构顺序是谁先谁后?

class Base 
{
public:
 Base()
 {
  cout << "Base构造函数!" << endl;
 }
 ~Base()
 {
  cout << "Base析构函数!" << endl;
 }
};

class Son : public Base
{
public:
 Son()
 {
  cout << "Son构造函数!" << endl;
 }
 ~Son()
 {
  cout << "Son析构函数!" << endl;
 }

};


void test01()
{
 //继承中 先调用父类构造函数,再调用子类构造函数,析构顺序与构造相反
 Son s;
}

int main() {

 test01();

 system("pause");

 return 0;
}

总结:继承中 先调用父类构造函数,再调用子类构造函数,析构顺序与构造相反

你可能感兴趣的:(c++,开发语言,学习,c++)