实施文件中的C Getters-Setters

前端之家收集整理的这篇文章主要介绍了实施文件中的C Getters-Setters前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我对C比较陌生,我认为我的问题最好通过例子来理解.在我的头文件中,假设我有
class myClass{
    public:
        double getVar1();
        void setVar1(double newVar1);
        void copyVar1(myClass* dat);

    private:
        double var1;
};

在我的实现.cc文件中,在实现copyVar1方法时,我应该这样做

void myClass::copyVar1(myClass* dat){
   var1 = dat->var1;
}

要么

void myClass::copyVar1(myClass* dat){
   var1 = dat->getVar1();
}

在第二种情况下,我使用getter方法.两者都在Visual C中正常工作,但我想知道在实践中哪个更好用.

谢谢您的意见!

解决方法

最佳做法?重载赋值运算符而不是编写方法.
myClass & myClass::operator=(const myClass & dat)
{
   var1 = dat.var1; // or dat.getVar1()
   return *this;
}

至于使用场地或打电话给安装者……这都是个人品味的问题.如果你的getter有一些副作用,那么你可能应该调用它,否则,使用该字段.

所以,一个大的“依赖”.

猜你在找的C&C++相关文章