C++ 访问指针的数据成员

C++ 访问指针的数据成员,c++,C++,如果我有: class Cat { public: int name; Cat(); int getName(); } 那么如何访问数据成员:name?它工作正常: #包括 使用std::cout;使用std::endl; 班猫 { 公众: int名称; Cat():名称(0){} int getName(){return name;} }; int main() { Cat*指针=新的Cat(); 指针->名称=42; 有什么是“不起作用的”吗?或者有一些明显的我

如果我有:

class Cat
{
  public:
    int name;
    Cat();
    int getName();
}
那么如何访问数据成员:name?

它工作正常:

#包括
使用std::cout;使用std::endl;
班猫
{
公众:
int名称;
Cat():名称(0){}
int getName(){return name;}
};
int main()
{
Cat*指针=新的Cat();
指针->名称=42;

有什么是“不起作用的”吗?或者有一些明显的我看不到的东西,或者有一些你没有写的东西。那一定是起作用的。我打赌它确实起作用,但它什么都不起作用。在这种情况下,你希望它做什么?'getName()`是一个函数,有一些实现可以做一些事情,而
name
只是一个值,访问它不会做任何事情(比如打印出来)。它工作正常。您可能没有向我们显示真实的代码,或者您正在进行其他操作。请向我们显示错误消息和完整的可测试示例。@0A0D构造函数甚至不是必需的,更不用说按特定顺序。
Cat* pointer = new Cat();
pointer->getName();
pointer->name; //this doesn't work
#include <iostream>
using std::cout; using std::endl;

class Cat
{
  public:
    int name;
    Cat() : name(0) { }
    int getName() { return name; }
};

int main()
{
    Cat* pointer = new Cat();
    pointer->name = 42;
    cout << "getName: " << pointer->getName() << endl;
    cout << "name: " << pointer->name << endl;
    delete pointer;
}