C++類基本語法實(shí)例分析
類是C++程序設(shè)計(jì)非常重要的概念,本文即以實(shí)例形式說明了類的常見用法。具體如下:
本測試代碼主要包括以下內(nèi)容:
(1)如何使用構(gòu)造函數(shù);
(2)默認(rèn)構(gòu)造函數(shù);
(3)對象間賦值;
(4)const使用語法;
(5)定義類常量: 一種方法是用enum,另一種方法是使用static。
實(shí)例代碼如下:
#include <iostream> using namespace std; enum sexType { MAN, WOMAN }; class Human { //the default is private private: string name; sexType sex; int age; //(5) 定義類常量: 一種方法是用enum,另一種方法是使用static enum{LEN=1}; static const int LEN2 = 3; public: //如果類定義中沒有提供任何構(gòu)造函數(shù),則編譯器提供默認(rèn)構(gòu)造函數(shù)。但,如果類中定義了構(gòu)造函數(shù),那么編寫者必須同時提供一個默認(rèn)構(gòu)造函數(shù)。 //有兩種方法提供默認(rèn)構(gòu)造函數(shù): //(1) 定義一個沒有參數(shù)的構(gòu)造函數(shù):Human(); //(2) 為非默認(rèn)構(gòu)造函數(shù)的參數(shù)提供默認(rèn)值: Human(string m_name="no name", int m_age=0, sexType m_sex=MAN); //兩種定義方式只能二選一 Human(); Human(string m_name, int m_age, sexType m_sex); Human(int m_age); ~Human(); //定義在類聲明中的方法為內(nèi)聯(lián)方法。也可以使用inline關(guān)鍵字將函數(shù)定義在類聲明外部。 void show() const //const加在函數(shù)名后面表示該函數(shù)不會修改該類的數(shù)據(jù)成員。 { cout<<"This is "<<name<<", sex: "<<sex<<", "<<age<<" Years old."<<endl; } }; Human::Human() { cout<<"default construct function"<<endl; } Human::Human(string m_name, int m_age, sexType m_sex) { cout<<"construct function: "<<m_name<<endl; name = m_name; age = m_age; sex = m_sex; } Human::Human(int m_age) { age = m_age; } Human::~Human() { cout<<"destroy function: "<<name<<endl; } int main() { cout << "This is test code of C++ class: "<< endl; { //(1) use of construct function Human jack = Human("Jack", 30, MAN); //顯示調(diào)用 Human jerry("Jerry", 26, MAN); //隱式調(diào)用 Human *pTom = new Human("Tom", 10, MAN); //New調(diào)用 //當(dāng)構(gòu)造函數(shù)只有一個參數(shù)時,可以直接用賦值語句賦值。只有一個參數(shù)的構(gòu)造函數(shù)將會被自動調(diào)用 Human marry = 11; //賦值調(diào)用 //(2) defaults construct function Human Lucy; //(3) 賦值對象 Human James; James = Human("James", 28, MAN); //創(chuàng)建一個臨時對象James,copy一份兒該對象賦值給James變量。緊接著該臨時對象會被銷毀。 //(4) const const Human Thomas("Thomas", 29, MAN); Thomas.show(); //The show method must define with 'const' } return 0; }
程序運(yùn)行結(jié)果為:
相關(guān)文章
CMake語法及CMakeList.txt簡單使用小結(jié)
Cmake主要用于開發(fā)跨平臺的C++項(xiàng)目,本文主要介紹了CMake語法及CMakeList.txt簡單使用小結(jié),具有一定的參考價值,感興趣的可以了解一下2022-05-05C++實(shí)現(xiàn)病人就醫(yī)管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C++語言實(shí)現(xiàn)病人就醫(yī)管理系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-01-01C++函數(shù)指針與指針函數(shù)有哪些關(guān)系和區(qū)別
函數(shù)指針是一個指針變量,它可以存儲函數(shù)的地址,然后使用函數(shù)指針,這篇文章主要介紹了C++中函數(shù)指針與指針函數(shù)有哪些關(guān)系和區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值2022-08-08C++指針作為函數(shù)的參數(shù)進(jìn)行傳遞時需要注意的一些問題
當(dāng)指針作為函數(shù)的參數(shù)進(jìn)行傳遞的時候,本質(zhì)上還是進(jìn)行的“值傳遞”,也就是復(fù)制了一個新的指向該地址的指針變量2013-10-10如何在C++中實(shí)現(xiàn)一個正確的時間循環(huán)器詳解
這篇文章主要給大家介紹了關(guān)于如何在C++中實(shí)現(xiàn)一個正確的時間循環(huán)器的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10