实施文件中的C Getters-Setters

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

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

  1. void myClass::copyVar1(myClass* dat){
  2. var1 = dat->var1;
  3. }

要么

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

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

谢谢您的意见!

解决方法

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

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

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

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