作爲面嚮對象語言,"一切皆對象",其意義不亞於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#