gpt4 book ai didi

c++ - 类成员标识符的解析如何在 C++ 中工作

转载 作者:行者123 更新时间:2023-11-27 23:57:58 25 4
gpt4 key购买 nike

假设你有一个 Ball 类,在 Ball.h 中你有

class Ball {
public:
int foo();
};

它的 Ball.cc 文件具有函数

int Ball::foo(){
return 5;
}

然后你有一个 BigBall 类

#include <Ball.h>

class BigBall : public Ball {
public:

};

然后在你的 main 中你做了一个 BigBall

auto bigRed = make_shared<BigBall>():

你会如何在 bigRed 对象上使用 foo();

有点像

Ball::bigRed->foo();

但我被告知球无法解决......

最佳答案

差不多。您需要对函数标识符而不是对象进行解析:

bigRed->Ball::foo();

但是除非 BigBall 重载并隐藏原始的 Ball::foo,否则您实际上不需要解析任何内容:

bigRed->foo();

关于c++ - 类成员标识符的解析如何在 C++ 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41201266/

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