加载中...

14.10 私有函数


在很多时候,有些成员函数是在一个类内部才会被调用到,他们不应当被使用这个类的客户代码调用。例如,calculatePolar和calculateCartesianare会被访问函数调用到,但客户代码不应该直接调用他们(虽然不会造成伤害)。如果我们想保护这些函数不被调用到,我们就需要把他们声明为private,正如我们处理变量那样。所以一个完整的复数类的定义如下:

  1. class Complex
  2. {
  3. private:
  4. double real, imag;
  5. double mag, theta;
  6. bool cartesian, polar;
  7. void calculateCartesian ();
  8. void calculatePolar ();
  9. public:
  10. Complex () { cartesian = false; polar = false; }
  11. Complex (double r, double i)
  12. {
  13. real = r; imag = i;
  14. cartesian = true; polar = false;
  15. }
  16. void printCartesian ();
  17. void printPolar ();
  18. double getReal ();
  19. double getImag ();
  20. double getMag ();
  21. double getTheta ();
  22. void setCartesian (double r, double i);
  23. void setPolar (double m, double t);
  24. };

开头的private标号不是必须的,但它是一个有用的提示符。


还没有评论.