C++類基本語法實(shí)例分析
類是C++程序設(shè)計(jì)非常重要的概念,本文即以實(shí)例形式說明了類的常見用法。具體如下:
本測(cè)試代碼主要包括以下內(nèi)容:
(1)如何使用構(gòu)造函數(shù);
(2)默認(rèn)構(gòu)造函數(shù);
(3)對(duì)象間賦值;
(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ù),那么編寫者必須同時(shí)提供一個(gè)默認(rèn)構(gòu)造函數(shù)。
//有兩種方法提供默認(rèn)構(gòu)造函數(shù):
//(1) 定義一個(gè)沒有參數(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ù)不會(huì)修改該類的數(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ù)只有一個(gè)參數(shù)時(shí),可以直接用賦值語句賦值。只有一個(gè)參數(shù)的構(gòu)造函數(shù)將會(huì)被自動(dòng)調(diào)用
Human marry = 11; //賦值調(diào)用
//(2) defaults construct function
Human Lucy;
//(3) 賦值對(duì)象
Human James;
James = Human("James", 28, MAN); //創(chuàng)建一個(gè)臨時(shí)對(duì)象James,copy一份兒該對(duì)象賦值給James變量。緊接著該臨時(shí)對(duì)象會(huì)被銷毀。
//(4) const
const Human Thomas("Thomas", 29, MAN);
Thomas.show(); //The show method must define with 'const'
}
return 0;
}
程序運(yùn)行結(jié)果為:

相關(guān)文章
C語言實(shí)現(xiàn)個(gè)人財(cái)務(wù)管理軟件
這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)個(gè)人財(cái)務(wù)管理軟件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05
VC++實(shí)現(xiàn)View內(nèi)容保存為圖片的方法
這篇文章主要介紹了VC++實(shí)現(xiàn)View內(nèi)容保存為圖片的方法,涉及VC++中Bitmap類的save方法相關(guān)使用技巧,需要的朋友可以參考下2016-08-08
C++面試基礎(chǔ)之static關(guān)鍵字詳解
這篇文章主要給大家介紹了關(guān)于C++面試基礎(chǔ)之static關(guān)鍵字的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-02-02
C語言 function recursion函數(shù)遞歸詳解
遞歸指的是在函數(shù)的定義中使用函數(shù)自身的方法,舉個(gè)例子: 從前有座山,山里有座廟,廟里有個(gè)老和尚,正在給小和尚講故事呢!故事是什么呢?"從前有座山,山里有座廟,廟里有個(gè)老和尚,正在給小和尚講故事呢!故事是什么呢?"從前有座山,山里有座廟,循環(huán)下去2021-10-10
深入解析C++的循環(huán)鏈表與雙向鏈表設(shè)計(jì)的API實(shí)現(xiàn)
這篇文章主要介紹了C++的循環(huán)鏈表與雙向鏈表設(shè)計(jì)的API實(shí)現(xiàn),文中的示例對(duì)于鏈表結(jié)點(diǎn)的操作起到了很好的說明作用,需要的朋友可以參考下2016-03-03
C++實(shí)現(xiàn)插入排序?qū)φ麛?shù)數(shù)組排序
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)插入排序?qū)φ麛?shù)數(shù)組排序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-05-05

