C++類和對象

來源:互聯網
上載者:User

C++類就是為程式員提供一種建立一個新類型的工具,使這些新類型的使用能夠像內部類型一樣方便。

一個類就是一個使用者定義的類型,如何聲明一個類,形式如下:

class class_name {
access_specifier_1:
member1;
access_specifier_2:
member2;
...
} object_names;

樣本如下:

class Object {
public:
Object();
~Object(); //must be public
Object(int num);
int getNumber();
void setNumber(int num);

private:
int m_num;
};

 

如何定義一個已聲明的類:

Object::Object() {
m_num = 0;
}
Object::~Object() {

}
Object::Object(int num) {
m_num = num;
}

int Object::getNumber() {
return m_num;
}

void Object::setNumber(int num) {
m_num = num;
}

如何執行個體化和使用一個類:  

int main () {
Object obj1;
Object obj2(110);
Object obj3 = Object(119);
Object *pObj4 = new Object();
Object *pObj5 = new Object(119);
Object objs[10];
printf("obj1.getNumber() = %d\n", obj1.getNumber());
printf("obj2.getNumber() = %d\n", obj2.getNumber());
printf("obj3.getNumber() = %d\n", obj3.getNumber());
printf("pObj4->getNumber() = %d\n", pObj4->getNumber());
printf("pObj5->getNumber() = %d\n", pObj5->getNumber());
for (int i = 0; i < 10; i++) {
printf("objs[%d].getNumber() = %d\n",i, objs[i].getNumber());
}
delete pObj4;
delete pObj5;
return 0;
}
struct 和union的類聲明

類可以定義不僅可以用關鍵字class,也可以用關鍵字struct和union。

class和struct的概念是相似的,可用struct和class聲明C++的類(即struct可以有資料成員和函數成員)。兩者之間唯一的區別是使用關鍵字struct聲明的類成員預設情況下,是public存取權限,而使用關鍵字class聲明的類成員預設是private存取權限。對於所有其他的目的,這兩個關鍵字是等價的。

union的概念是與struct和class聲明類不同的,因為union一次只能儲存一個資料成員,但union也可能擁有函數成員,union類的預設存取權限是public。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.