请问应该如何访问类中的对象?

img

img


我在学习构造函数。我在类的声明里使用构造函数来初始化赋值。按理说我定义了变量ms1,产生内存后就已经由构造函数初始化赋值了。但是为什么我printf输出age=19就报错了呢?那么应该如何访问类中的对象?

因为你直接在主函数打印age变量,主函数中显示并没有这个变量,你只能通过访问对象ms1的age属性才可以,但是由于类的默认是私有,所以即使写:

printf("%d",ms1.age);

也是不不行的,需要你把public: 这句代码移到作用域最上方

对象名.变量
而且你的变量得是public

添加公有接口

class Mystu
{
    int age;

    // ...

public:
    int getAge() const { return age; }

    // ...
};

int main()
{
    Mystu ms1;
    printf("%d\n", ms1.getAge());
    return 0;
}