1. 派生类没自己的构造函数,通过 using 关键字使用基类的构造函数
默认情况下,派生类会继承基类的所有成员,包括数据成员和函数成员,但不会继承基类的构造函数和析构函数,因为构造函数和析构函数的作用是创建和销毁对象,派生类通常需要有自己的构造和析构的逻辑。
但是,C++11 引入了using语句,使得派生类可以通过 using 关键字使用基类的构造函数,更方便地复用基类的构造逻辑。
#include <iostream>
#include <string>
using namespace std;
class Base
{
protected:
int x;
public:
// 基类的构造函数
Base(int val=0 ) :x(val)
{
cout << "Base constructor, x: " << x << endl;
}
// 基类的析构函数
~Base()
{
cout << "Base destructor" << endl;
}
};
class Derived : public Base
{
public:
// 用 using 继承基类的构造函数
using Base::Base