gpt4 book ai didi

c++ - 在声明派生类时调用基类的构造函数

转载 作者:太空宇宙 更新时间:2023-11-04 16:10:42 25 4
gpt4 key购买 nike

我有两个文件和一个基类。我想让派生类中的一些函数使用基类中的数据成员。我面临的问题与下面给出的问题非常相似:

在文件BaseFile.h中

class Base{
private:
int a, b;
protected:
//some data members and functions that I want to share with derived class
public:
Base(int apple, int ball):apple(a), ball(b) {}
};

在文件 DerivedFile.h 中

#include "BaseFile.h"
class Derived : public Base{ //error in this line
//stuffs
};

每当我声明派生类时,我都会收到一条错误消息,提示“没有匹配函数调用 Base::Base note::candidate expects 2 arguments 0 provided”。这个问题的原因可能是什么?

最佳答案

首先,您在基类中的初始化列表是错误的。应该是a(apple), b(ball)

其次,您确实需要在派生类中初始化基类,即调用其构造函数。有点像

Derived::Derived() :
Base(0,0) {
}

关于c++ - 在声明派生类时调用基类的构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29047927/

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