- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在为类创建一个小的源文件/项目,但我不断收到错误“类 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/
我正在为类创建一个小的源文件/项目,但我不断收到错误“类 TermPaper”没有名为“setfirstName”/“setlastName”/“setsubject”的成员等。基本上每一行都带有 .
我是一名优秀的程序员,十分优秀!