首页 > 解决方案 > C ++创建2个类,其中第二个类继承第一个类,构造函数在创建对象的类中运行

问题描述

这可以在 C++ 中创建还是不可能?2 个类-> 2nd 类继承第一个类,然后是在我创建对象的类中运行的构造函数。

标签: c++

解决方案


如果我正确理解您的评论,您需要有两个课程。一个类是从基类派生的。但是派生类的构造函数应该调用一个只是派生类一部分的方法,但如果你创建了基类的实例,就不应该调用它。

显示此的简单示例:

类.h

class Base{
public:
  Base();
  virtual ~Base();
};

class Derived : public Base{
public:
  Derived();
  virtual ~Derived();

  void task();
};

类.cpp

#include "classes.h"

#include <iostream>


Base::Base(){
  std::cout << "Base" << std::endl;
}
Base::~Base(){

}

Derived::Derived(){
  std::cout << "Derived" << std::endl;
  task();
}

Derived::~Derived(){

}

void Derived::task(){
  std::cout << "task" << std::endl;
}

主文件

#include "classes.h"

int main(void){
  Base base;
  Derived derived;

  return 0;
}

输出:

[me@my_machine]$ ./derived 
Base
Base
Derived
task

推荐阅读