gpt4 book ai didi

C++:无法从指向类的指针调用成员

转载 作者:行者123 更新时间:2023-11-30 02:49:25 25 4
gpt4 key购买 nike

编辑: 我对我的程序做了一些修改,我发现我面临的问题与此类指针无关,事实上我的语法是正确的。我感谢所有的回复,但我纠正了这个问题。谢谢大家。

所以我搜索了这个网站和谷歌,但似乎找不到任何东西。据我所知,我已经习惯了正确的语法,但也许我遗漏了一些小东西。

所以基本上,我已经声明了一个Player类型的类对象,然后创建了一个Player *类型的指针,并将类对象赋值给它。现在,当我尝试从指针调用成员函数时,我的程序崩溃了。我不知道问题出在哪里。有什么想法吗?

类定义如下:

class Player
{
public:
Player(int x, int y);
//~Player();

//int hitPoints;
void printHP() {cout << hitPoints << endl;}
int xCord;
int yCord;
protected:
private:
int hitPoints;
};

//constructor
Player::Player(int x, int y)
{
hitPoints = 100;
xCord = x;
yCord = y;
}

这里是我声明指针并尝试调用成员函数的地方。

Player hero(5, 5);
Player * playerPtr;
playerPtr = &hero;
playerPtr->printHP();

程序编译正常,但立即崩溃。但是,当我直接从类对象中调用成员函数时它会起作用,如下所示:

hero.printHP();

最佳答案

您的程序看起来是正确的。 playerPtr 是从相同的上下文中调用的吗?即,您没有将它传递给不同的函数?

关于C++:无法从指向类的指针调用成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21195351/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com