我想创建一个包含指针成员的类,并在构造该类的实例时初始化该指针,如下所示:
#include "stdafx.h"
#include <iostream>
class MyClass {
public:
MyClass(int x): p(&x){}
int getValueOfp()
{
return *p;
}
private:
int* p;
};
int _tmain(int argc, _TCHAR* argv[])
{
int x=5;
MyClass obj1(x);
std::cout<<obj1.getValueOfp();
return 0;
}
问题是,当我调用getValueOf()
输出时,我得到的不是应该指向的变量的值p
(在这种情况下为 5,因为它应该指向x
)。我已经在网上搜索了这个问题的可能答案,但没有任何运气,有人可以告诉我我在这里做错了什么吗?(如您所见,我正在使用 Visual Studio Express)。