gpt4 book ai didi

C++继承类显示没有默认构造函数

转载 作者:太空狗 更新时间:2023-10-29 23:36:01 26 4
gpt4 key购买 nike

我正在创建一些类,我决定创建一个基本类,其他类将继承该基本类

这是我的基本类标题

#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 引用。那么如何将此构造函数中的图像服务传递给状态构造函数呢?

最佳答案

您的基类没有默认构造函数,这是在当前派生类构造函数中隐式调用的。您需要显式调用基类的构造函数:

IntroState::IntroState(ImageService& imageService) : State(imageService)
{

}

关于C++继承类显示没有默认构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23816460/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com