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

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;
}
...全文
73 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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,竟然可以了。
回复
*Operate=false啊= =
回复
roomtt 2013-08-15
不要沉呀,要用到呀。求解
回复
相关推荐
发帖
C++ 语言
创建于2007-09-28

6.0w+

社区成员

C++ 语言相关问题讨论,技术干货分享,前沿动态等
申请成为版主
帖子事件
创建了帖子
2013-08-15 10:23
社区公告
暂无公告