我仍在努力学习类(class),但我创建了这个,我似乎得到了一些奇怪的数字,比如内存编号或其他东西,我无法弄清楚哪里出了问题。
#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;
}
最佳答案
问题在于:
int setAge(int age) {
return age;
}
不设置年龄。它只返回你给它的值,而不更新类成员。你想要更像的东西:
void setAge(int age) {
this->age = age;
}
您可能想更改参数名称,这样它就不会隐藏类成员:
void setAge(int new_age) {
age = new_age;
}
您还应该改掉将 using namespace std;
放在全局命名空间中的习惯,而是限定标准库名称,例如 std::cout
.虽然 using 指令可以避免一些困惑,但当您声明与库中的内容同名的内容时,它可能会导致问题。
关于c++ - 类不能正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21580793/