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; }
法式運轉成果為: