结构体指针如何调用重载后的操作符呢?

roomtt 2013-08-15 10:23:12
比如,我定义了一个这样的结构体
struct FIELD_TYPE_BOOL
{
bool one;
bool two;
bool three;
bool four;
bool five;
FIELD_TYPE_BOOL():one(false),two(false),three(false),four(false),five(false){}

void operator = (bool statu){
this->one = statu;
this->two = statu;
this->three = statu;
this->four = statu;
this->five = statu;
}
};


在main的函数中,如果我是创建一个结构体实例的话可以这样调用
int main()
{
struct FIELD_TYPE_BOOL Operate;
Operate = false;

if(Operate.one)
cout << "one is true" << endl;
else
cout << "one is false" << endl;
return 0;
}


但是如果我用new来创建,返回一个指针时,要怎么使用我重裁的操作符呢?
int main()
{
struct FIELD_TYPE_BOOL *pOperate = new struct FIELD_TYPE_BOOL ;

// struct FIELD_TYPE_BOOL Operate;
// Operate = false;

/**用结构体指针我该如何调用重载的操作符呢?**/

if(pOperate->one)
cout << "one is true" << endl;
else
cout << "one is false" << endl;

return 0;
}
...全文
150 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
roomtt 2013-08-15
  • 打赏
  • 举报
回复
谢谢2楼,简单问题,见笑了。解决了,结帖了。 解决方法:*Operate=false
roomtt 2013-08-15
  • 打赏
  • 举报
回复
引用 2 楼 czarten 的回复:
*Operate=false啊= =
之前我用

int main()
{
       struct FIELD_TYPE_BOOL *pOperate;
       *pOperate = false;
}
有段错误,试了一个new,竟然可以了。
你怎么了熊吉 2013-08-15
  • 打赏
  • 举报
回复
*Operate=false啊= =
roomtt 2013-08-15
  • 打赏
  • 举报
回复
不要沉呀,要用到呀。求解

65,187

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧