我正在创建一些类,并决定创建一个基本类,其他类将仅继承该基本类
所以这是我的基础课头
#pragma once
#include "ImageService.h"
class State
{
public:
State( ImageService& is );
~State();
void Update();
};
不用担心这些方法,这不是问题。
所以现在我继续创建一个IntroState像这样(头文件)
#pragma once
#include "State.h"
class IntroState : public State
{
public:
IntroState(ImageService& imageService);
~IntroState();
GameState objectState;
};
这是cpp文件
#include "IntroState.h"
IntroState::IntroState(ImageService& imageService)
{
//error here
}
IntroState::~IntroState()
{
}
在构造函数中,它指出“类“State”没有默认构造函数”,现在我想这是在发生什么,State的默认构造函数需要将imageService引用传递给它。那么如何将这个构造函数中的imageservice传递给状态构造函数呢?
最佳答案
您的基类没有默认构造函数,这是在当前派生类构造函数中隐式调用的内容。您需要显式调用基础的构造函数:
IntroState::IntroState(ImageService& imageService) : State(imageService)
{
}
关于c++ - C++继承类不显示默认构造函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23816460/