C++類基本語法實例分析
類是C++程序設(shè)計非常重要的概念,本文即以實例形式說明了類的常見用法。具體如下:
本測試代碼主要包括以下內(nèi)容:
(1)如何使用構(gòu)造函數(shù);
(2)默認(rèn)構(gòu)造函數(shù);
(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:
    //如果類定義中沒有提供任何構(gòu)造函數(shù),則編譯器提供默認(rèn)構(gòu)造函數(shù)。但,如果類中定義了構(gòu)造函數(shù),那么編寫者必須同時提供一個默認(rèn)構(gòu)造函數(shù)。
    //有兩種方法提供默認(rèn)構(gòu)造函數(shù):
    //(1) 定義一個沒有參數(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ù)不會修改該類的數(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ù)只有一個參數(shù)時,可以直接用賦值語句賦值。只有一個參數(shù)的構(gòu)造函數(shù)將會被自動調(diào)用
    Human marry = 11; //賦值調(diào)用
    //(2) defaults construct function
    Human Lucy;
    //(3) 賦值對象
    Human James;
    James = Human("James", 28, MAN); //創(chuàng)建一個臨時對象James,copy一份兒該對象賦值給James變量。緊接著該臨時對象會被銷毀。
    //(4) const
    const Human Thomas("Thomas", 29, MAN);
    Thomas.show(); //The show method must define with 'const'
  }
  return 0;
}
程序運(yùn)行結(jié)果為:
您可能感興趣的文章
- 04-02c語言沒有round函數(shù) round c語言
 - 01-10深入理解C++中常見的關(guān)鍵字含義
 - 01-10使用C++實現(xiàn)全排列算法的方法詳解
 - 01-10c++中inline的用法分析
 - 01-10深入理解鏈表的各類操作詳解
 - 01-10用C++實現(xiàn)DBSCAN聚類算法
 - 01-10全排列算法的非遞歸實現(xiàn)與遞歸實現(xiàn)的方法(C++)
 - 01-10C++大數(shù)模板(推薦)
 - 01-10淺談C/C++中的static與extern關(guān)鍵字的使用詳解
 - 01-10深入C/C++浮點數(shù)在內(nèi)存中的存儲方式詳解
 


閱讀排行
本欄相關(guān)
- 04-02c語言函數(shù)調(diào)用后清空內(nèi)存 c語言調(diào)用
 - 04-02func函數(shù)+在C語言 func函數(shù)在c語言中
 - 04-02c語言的正則匹配函數(shù) c語言正則表達(dá)
 - 04-02c語言用函數(shù)寫分段 用c語言表示分段
 - 04-02c語言中對數(shù)函數(shù)的表達(dá)式 c語言中對
 - 04-02c語言編寫函數(shù)冒泡排序 c語言冒泡排
 - 04-02c語言沒有round函數(shù) round c語言
 - 04-02c語言分段函數(shù)怎么求 用c語言求分段
 - 04-02C語言中怎么打出三角函數(shù) c語言中怎
 - 04-02c語言調(diào)用函數(shù)求fibo C語言調(diào)用函數(shù)求
 
隨機(jī)閱讀
- 08-05DEDE織夢data目錄下的sessions文件夾有什
 - 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
 - 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
 - 01-10C#中split用法實例總結(jié)
 - 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
 - 01-10使用C語言求解撲克牌的順子及n個骰子
 - 08-05織夢dedecms什么時候用欄目交叉功能?
 - 01-11ajax實現(xiàn)頁面的局部加載
 - 04-02jquery與jsp,用jquery
 - 01-10delphi制作wav文件的方法
 


