c++ - C ++创建2个类,其中第二个类继承第一个类,构造函数在创建对象的类中运行
问题描述
这可以在 C++ 中创建还是不可能?2 个类-> 2nd 类继承第一个类,然后是在我创建对象的类中运行的构造函数。
解决方案
如果我正确理解您的评论,您需要有两个课程。一个类是从基类派生的。但是派生类的构造函数应该调用一个只是派生类一部分的方法,但如果你创建了基类的实例,就不应该调用它。
显示此的简单示例:
类.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
推荐阅读
- python - mongo-connector python lib 在同步到 Elasticsearch 时不适用于事务
- python - Django Crispy Forms;不加载按钮
- python - 通过递归递增 int 变量
- reactjs - 将 formik 验证错误传递给父组件
- css - VScode markdown 预览图像大小控制 - pandoc 兼容?
- python - 刮大学橄榄球队招募排名页面
- ios - 将“double”发送到不兼容类型“id _Nullable”的参数
- office-js - Office Online 的 CORS 域列表 - 未加载自定义函数
- amazon-web-services - 在 Crystal 中查询 DynamoDB
- html - 如何使页脚内的内容块居中