從C看C++之(三)類

 作爲面嚮對象語言,"一切皆對象",其意義不亞於LINUX下面"一切皆文件".而對象是必須指明其屬於哪個類的.類與對象的關係,借用C語言的角度理解的話,如下:

int i,j;
    int相當於類,而i,j相當於對象,它們屬於集合int裏面的一個元素.


 在CPP中定義一個類的模板如下:

        class className
        {
                private:
                        memberData;
                        memberFunction;
                public:
                        memberData;
                        memberFunction;
                protected:
                        memberData;
                        memberFunction;
        };
 它把一些編程需要處理的屬性(數據)及處理屬性的行爲(函數),打成一個包(類),並限定了其訪問權限.一個良好的編程習慣是,把函數的聲明放在類內,而函數的實現則放在類外.如下:
        <type> <class_name>::<func_name>(<args>)
        {
                Your Func Code...
        }

 在定義一個類時,有些地方是需要注意的.其最本質的原理是"類只是一個符號,它並不佔用內存".這意味着定義一個類時不能涉及到內存存儲的代碼.如:

                class Test
                {
                        int i = 0;
                        int j = -1
                };
 一些對數據存儲方式限定的關鍵字也是不能用在類內的,如auto,register.


    一個類的示例代碼:

#include <iostream>

class simpleClass
{
        private:
                float x,y;
        public:
                float m,n;
                void setXY(float,float);
                void getXY();
};

void simpleClass::setXY(float a,float b)
{
        x = a;
        y = b;
}

void simpleClass::getXY(void)
{
        std:: cout << x << '\t' << y << std::endl;
}

int main(void)
{
        simpleClass cls1;

        cls1.m = 10;
        cls1.n = 20;

        cls1.setXY(2.0,5.0);

        cls1.getXY();

        return 0;
}
 編譯運行:

root@se7en-LIFEBOOK-LH531:~/learn/Cpp_Program# g++ example.cpp -o example
root@se7en-LIFEBOOK-LH531:~/learn/Cpp_Program# ./example 
2	5
root@se7en-LIFEBOOK-LH531:~/learn/Cpp_Program# 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章