gpt4 book ai didi

c++ - 基类未定义。错误 C2504

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:08:35 27 4
gpt4 key购买 nike

按照本教程(https://www.youtube.com/watch?v=gq2Igdc-OSI&index=52&list=PLAE85DE8440AA6B83),我在 Visual Studio C++ 2017 上遇到了 4 个错误。其中 3 个是相同的,只是在 daughter.h 文件中重复 'Mother': base class undefined。另一个错误是:'sayName' 不是'Daughter' 的成员现在这是代码。我想让程序打印的内容非常简单……我想让它打印出两行“你在那里做什么?”如果你能帮我回答这个问题,那就太好了。谢谢。对于主文件 `#include "stdafx.h" #包括 #include“女儿.h” #include“Mother.h” 使用命名空间标准;

int main()
{
Mother pot;
pot.sayName();
Daughter kettle;
kettle.sayName();
int pause = 0;
cin >> pause;
}

Mother.h
#ifndef MOTHER_H
#define MOTHER_H

class Mother
{
public:
Mother();
void sayName();

};

#endif
Mother.cpp
#include "stdafx.h"
#include<iostream>
#include"Daughter.h"
#include"Mother.h"
using namespace std;

Mother::Mother()
{
}
void Mother::sayName() {
cout << "What are you doing there?" << endl;

}
Daughter.h
#ifndef DAUGHTER_H
#define DAUGHTER_H

class Daughter:public Mother
{
public:
Daughter();
};
#endif
Daughter.cpp
#include "stdafx.h"
#include<iostream>
#include"Daughter.h"
#include"Mother.h"
using namespace std;

Daughter::Daughter()
{
}

最佳答案

当一个类继承另一个类时,它必须在其头文件中包含父类头文件。在您的情况下,您必须在子标题的顶部添加 #include "Mother.h" (不仅在 .cpp 文件中)。另一个错误是由于第一个错误而发生的,纠正它应该可以解决它。

当您编写继承语法 class Daughter : public Mother 时,出于多种原因,Daughter 类定义需要访问有关其父类的信息。其中之一是有关继承方法的信息,这导致了您的第二个错误。

关于c++ - 基类未定义。错误 C2504,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45704843/

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