C語言里沒有class,class是C++里的關(guān)鍵字,類。
宜春網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,宜春網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為宜春上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)公司要多少錢,請找那個售后服務(wù)好的宜春做網(wǎng)站的公司定做!
你可以跟struct做對比,class默認(rèn)成員是private的,而struct默認(rèn)是public。
C++中的class是C++不同于C的關(guān)鍵所在;
是面向?qū)ο笾新暶鞯念悾?/p>
類是一組數(shù)據(jù)和對這些數(shù)據(jù)的操作(函數(shù))的封裝;
類中還可有訪問的權(quán)限的控制
其中private只能由本類中的成員函數(shù)訪問;
public可以由類外的成員函數(shù)訪問;
protected是受保護(hù)的數(shù)據(jù)成員,在他的子類中(從此類繼承產(chǎn)生的類)protected相當(dāng)于private也就是其子類的成員函數(shù)可以訪問,而其他的類中的成員函數(shù)不能訪問;
在C++ 語言中class是定義類的關(guān)鍵字,C++中也可以使用struct定義類。
兩者區(qū)別是,用class定義的類,如果數(shù)據(jù)成員或成員函數(shù)沒有說明則默認(rèn)為private(私有)的,而用struct定義的,默認(rèn)為public(公共)的。
示例 #include using namespace std; class C { public: int getAge() const { return age; } void setAge( int n ) { age = n; } private: int age; }; int main() { C c; c.setAge( 22 ); cout "My age: " c.getAge() endl; return 0;
}
作為面向?qū)ο蟪绦蛟O(shè)計的基礎(chǔ),掌握class的基本結(jié)構(gòu)和特性是十分重要的。
1、C語言里沒有class函數(shù)的概念,class是C++中的關(guān)鍵字。
2、C++是基于C的一種面向?qū)ο髷U(kuò)展,它在C原有結(jié)構(gòu)體(struct)的基礎(chǔ)上,擴(kuò)充了struct的功能(增加了成員函數(shù),以及訪問控制,繼承等),并增加了class這一新定義。實(shí)際上class和struct的唯一區(qū)別就是:struct中的默認(rèn)訪問控制權(quán)限是public,而class的默認(rèn)訪問控制權(quán)限是private。
struct RecTangle{
int width; int height;
int pos_x; int pos_y;
};
給他添加一些成員函數(shù)
struct RecTangle{
int width; int height;
int pos_x; int pos_y;
int Right(); // get right
int Bottom(); // get bottom
int Left(); // get left
int Top(); // get top
};
為了隱藏結(jié)構(gòu)體內(nèi)的成員,添加訪問控制標(biāo)識:
struct RecTangle{
private:
int width; int height;
int pos_x; int pos_y;
public:
int Right(); // get right
int Bottom(); // get bottom
int Left(); // get left
int Top(); // get top
};
如果用class來代替struct,則需要添加訪問控制標(biāo)識.
比如用class來定義類C結(jié)構(gòu)體
class RecTangle{
public:
int width; int height;
int pos_x; int pos_y;
};