我仍在尝试学习课程,但我创建了这个,我似乎得到了一些奇怪的数字,如记忆编号或某些东西,我无法弄清楚什么是错的.
#include <iostream>
#include <string>
using namespace std;
class JoesClass {
public:
int setAge(int age) {
return age;
}
void displayAge() {
cout << "your age is " << age << endl;
}
private:
int age;
};
int main()
{
JoesClass newobject;
newobject.setAge(40);
newobject.displayAge();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
问题是这个:
int setAge(int age) {
return age;
}
Run Code Online (Sandbox Code Playgroud)
没有设定年龄.它只返回你给它的值,而不更新类成员.你想要更像的东西:
void setAge(int age) {
this->age = age;
}
Run Code Online (Sandbox Code Playgroud)
您可能想要更改参数名称,因此它不会隐藏类成员:
void setAge(int new_age) {
age = new_age;
}
Run Code Online (Sandbox Code Playgroud)
您还应该放弃放入using namespace std;
全局命名空间的习惯,而是限定标准库名称std::cout
.虽然using指令可以节省一些混乱,但是当您声明与库中的某些内容同名的内容时,它可能会导致问题.