gpt4 book ai didi

C++ 类运算符重载

转载 作者:搜寻专家 更新时间:2023-10-31 00:19:45 26 4
gpt4 key购买 nike

可以为类重载 not 运算符:

class TestA
{
public:
bool Test;
const bool operator!(){return !Test;}
};

这样...

TestA A; A.Test = false;
if(!TestA){ //etc }

...可以工作。但是,以下是如何工作的?

if(TestA) //Does this have to be overloaded too, or is it the not operator inverted?

我要补充一点,在阅读它之后,我对所采用的 typedef 解决方案感到有些困惑,而且我不完全理解正在发生的事情,因为它似乎有些模糊。有人可以将其分解为我可以理解的格式吗?

最佳答案

您可以编写一个operator bool()。这会强制转换为 bool,使您的上述陈述成为可能。

关于C++ 类运算符重载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7636226/

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