C++類根本語法實例剖析。本站提示廣大學習愛好者:(C++類根本語法實例剖析)文章只能為提供參考,不一定能成為您想要的結果。以下是C++類根本語法實例剖析正文
類是C++法式設計異常主要的概念,本文即以實例情勢解釋了類的罕見用法。詳細以下:
本測試代碼重要包含以下內容:
(1)若何應用結構函數;
(2)默許結構函數;
(3)對象間賦值;
(4)const應用語法;
(5)界說類常量: 一種辦法是用enum,另外一種辦法是應用static。
實例代碼以下:
#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:
//假如類界說中沒有供給任何結構函數,則編譯器供給默許結構函數。但,假如類中界說了結構函數,那末編寫者必需同時供給一個默許結構函數。
//有兩種辦法供給默許結構函數:
//(1) 界說一個沒有參數的結構函數:Human();
//(2) 為非默許結構函數的參數供給默許值: 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();
//界說在類聲明中的辦法為內聯辦法。也能夠應用inline症結字將函數界說在類聲明內部。
void show() const //const加在函數名前面表現該函數不會修正該類的數據成員。
{
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); //顯示挪用
Human jerry("Jerry", 26, MAN); //隱式挪用
Human *pTom = new Human("Tom", 10, MAN); //New挪用
//當結構函數只要一個參數時,可以直接用賦值語句賦值。只要一個參數的結構函數將會被主動挪用
Human marry = 11; //賦值挪用
//(2) defaults construct function
Human Lucy;
//(3) 賦值對象
Human James;
James = Human("James", 28, MAN); //創立一個暫時對象James,copy一份兒該對象賦值給James變量。緊接著該暫時對象會被燒毀。
//(4) const
const Human Thomas("Thomas", 29, MAN);
Thomas.show(); //The show method must define with 'const'
}
return 0;
}
法式運轉成果為: