首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >c++中的赋值运算符重载

c++中的赋值运算符重载
EN

Stack Overflow用户
提问于 2012-04-10 00:26:04
回答 4查看 114.4K关注 0票数 37

我使用了以下代码来实现赋值运算符重载:

代码语言:javascript
复制
SimpleCircle SimpleCircle::operator=(const SimpleCircle & rhs)
{
     if(this == &rhs)
        return *this;
     itsRadius = rhs.getRadius();
     return *this;
}

我的复制构造函数是:

代码语言:javascript
复制
SimpleCircle::SimpleCircle(const SimpleCircle & rhs)
{
    itsRadius = rhs.getRadius();
}

在上面的操作符重载代码中,由于创建了一个新对象,因此调用了复制构造函数;因此,我使用了以下代码:

代码语言:javascript
复制
SimpleCircle & SimpleCircle::operator=(const SimpleCircle & rhs)
{
    if(this == &rhs)
       return *this;
    itsRadius = rhs.getRadius();
    return *this;
}

它工作得很好,并且避免了复制构造函数的问题,但是(对我来说)这方面有什么未知的问题吗?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10076285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档