c++ - 类不能正常工作

标签 c++ class

我仍在努力学习类(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/

相关文章:

Python;类实例

css - 多个 DIV,相同的类,如何减少 css 标记?

c++ - 将 Date.valueof 原语转换为 Ruby

c++ - 在循环中使用自动 C++

C++:Boost:如何检查我的工作目录中另一个文件夹中是否存在一个文件夹?

c# - VFD显示编程

c++ - Z 排序的 3d 对象列表

c# - "Special Class"到底是什么?

C++ 虚拟基类 : parent's copy constructor doesn't get called

c++ - 在 C++ 中使用类的命名空间定义类的成员