程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C++類根本語法實例剖析

C++類根本語法實例剖析

編輯:關於C++

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

法式運轉成果為:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved