gpt4 book ai didi

c++ - 错误 : 'class TermPaper' has no member named ''

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

我正在为类创建一个小的源文件/项目,但我不断收到错误“类 TermPaper”没有名为“setfirstName”/“setlastName”/“setsubject”的成员等。基本上每一行都带有 .set 或.get 是一个错误。

#include <iostream>
#include <string>
#include "TermPaper.cpp"
#include "TermPaper.h"
using namespace std;

int main(int argc, char** argv) {

//Declare variables
TermPaper paper1;
string firstName;
string lastName;
string subject;
char grade;

cout << "Please enter first name. " << endl;

cin >> firstName;

cout << "Please enter last name." << endl;

cin >> lastName;

cout << "Please enter subject." << endl;

cin >> subject;

cout << "Please enter letter grade." << endl;

cin >> grade;

paper1.setfirstName();
paper1.setlastName();
paper1.setsubject();
paper1.setgrade();

cout << "First name:" << paper1.getfirstName() << endl;

cout << "Last Name: " << paper1.getLastName() << endl;

cout << "Subject: " << paper1.getSubject() << endl;

cout << "Grade: " << paper1.getGrade() << endl;

return 0;
}

这是我创建的 .cpp 文件,下面是我的导师给我的 .cpp 文件,并告诉我复制到上面有我的代码的项目文件夹中。这是我假设类 TermPaper 被定义的地方,我没有足够的信心来编辑它,因为我担心我会产生更多的错误。

TermPaper::TermPaper( )
{
fName = "";
lName = "";
subject = "";
letterGrade = 'F';
}
void TermPaper::setFName(string fN)
{
fName = fN;
}
void TermPaper::setLName(string lN)
{
lName = lN;
}
void TermPaper::setSubject(string sub)
{
subject = sub;
}
void TermPaper::setLetterGrade(char grade)
{
letterGrade = grade;
}
string TermPaper::getFName( )
{
return fName;
}
string TermPaper::getLName( )
{
return lName;
}
string TermPaper::getSubject( )
{
return subject;
}
char TermPaper::getLetterGrade( )
{
return letterGrade;
}

我不太确定我的讲师给我的文件是否有错误(编译器没有检测到任何错误),或者我是否只是忘记了我自己的代码中的某些内容。在过去的一个小时里,我一直在翻阅我的教科书,所有的例子都没有告诉我任何内容。

任何帮助都会很棒,特别是因为这是我本学期的倒数第二个作业!

最佳答案

Michael Albers 指出的 cpp 文件的包含是一个明确的禁忌,会带来很多悲伤,但是......

但我在发布的代码段中的 TermPaper 方法中没有看到 setfirstName。尝试调用 TermPaper 提供的 setFName 方法,不要忘记您需要提供该方法所需的参数。没有这些参数,可怜的编译器就不知道你想做什么。它将寻找一个看起来像 void TermPaper::setFName()* 的函数,但没有找到。

paper1.setFName(firstName);
paper1.setLName(lastName);
paper1.setSubject(subject);
paper1.setLetterGrade(grade);

* 这不完全正确。它将寻找看起来像 TermPaper::setFName() 的东西,具有任何返回类型。重载始终基于参数,并且不会给出有关返回类型的信息。

关于c++ - 错误 : 'class TermPaper' has no member named '' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36948719/

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