14.10 私有函数

优质
小牛编辑
135浏览
2023-12-01

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

class Complex 
{ 
    private: 
        double real, imag; 
        double mag, theta; 
        bool cartesian, polar; 

        void calculateCartesian (); 
        void calculatePolar (); 

public: 
        Complex () { cartesian = false;           polar = false; } 

        Complex (double r, double i) 
        { 
                    real = r;  imag = i; 
                    cartesian = true;        polar = false; 
        } 

        void printCartesian (); 
        void printPolar (); 

        double getReal (); 
        double getImag (); 
        double getMag (); 
        double getTheta (); 

        void setCartesian (double r, double i); 
        void setPolar (double m, double t); 
}; 

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