<分区>
根据我对 c++ 的了解,在使用指针初始化对象时,我们必须使用 new 关键字。但是在下面的例子中,指针并没有指向一个用'new'初始化的对象,但是我们仍然可以调用不修改成员变量的方法。
#include <iostream>
using namespace std;
class B
{
public:
void display()
{ cout<<"Content of base class.\n"; }
};
int main()
{
B *b; // line p : not initialized with 'new'
b->display(); //line q: this prints Content of base class
return 0;
}
在上面的代码中,我很困惑为什么我可以在 main 方法中调用第 q 行的方法。还有为什么当我尝试访问成员变量时出现错误。 提前致谢。