C++類基本語法實(shí)例分析
類是C++程序設(shè)計非常重要的概念,本文即以實(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-05
C++實(shí)現(xiàn)病人就醫(yī)管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C++語言實(shí)現(xiàn)病人就醫(yī)管理系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-01-01
C++函數(shù)指針與指針函數(shù)有哪些關(guān)系和區(qū)別
函數(shù)指針是一個指針變量,它可以存儲函數(shù)的地址,然后使用函數(shù)指針,這篇文章主要介紹了C++中函數(shù)指針與指針函數(shù)有哪些關(guān)系和區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值2022-08-08
C++指針作為函數(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

