codecamp

C++ 私有函数

在很多时候,有些成员函数是在一个类内部才会被调用到,他们不应当被使用这个类的客户代码调用。例如,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标号不是必须的,但它是一个有用的提示符。

C++ 先决条件
C++ 术语表
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }