C++類基本文法執行個體分析_C 語言

來源:互聯網
上載者:User

類是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;}

程式運行結果為:

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.