程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++基礎知識總結----類的進階知識點

C++基礎知識總結----類的進階知識點

編輯:C++入門知識

C++基礎知識總結----類的進階知識點


還是那句話,我們繼續在簡單的代碼中,體會學習C++,本節主要是體會學習類的進階知識. 一.構造函數與析構函數      當創建一個對象時,往往需要做一些初始化工作,例如對數據成員賦值等。為了解決這個問題,C++提供了構造函數。     構造函數(Constructor)是一種特殊的成員函數,它的名字和類名相同,沒有返回值,不需要用戶調用(用戶也不能調用),而是在創建對象時自動執行。構造函數的作用是在創建對象時進行初始化工作,最常見的就是對成員變量賦值。     創建對象時系統會自動調用構造函數進行初始化工作,同樣,銷毀對象時系統也會自動調用一個函數來進行清理工作(例如回收創建對象時消耗的各種資源),這個函數被稱為析構函數。     析構函數(Destructor)也是一種特殊的成員函數,沒有返回值,不需要用戶調用,而是在銷毀對象時自動執行。與構造函數不同的是,析構函數的名字是在類名前面加一個”~“符號。
 
#include <iostream>
using namespace std;

class Student
{
    public:
        //構造函數,用參數初始化列表初始化
        Student(string name1, int age1, float score1):name(name1), age(age1), score(score1){}
        //析構函數
        ~Student();
        //普通成員函數
        void say();
    private:
        string name;
        int age;
        float score;
};
Student::~Student()
{
    cout<<name<<"再見"<<endl;
}
void Student::say()
{
    cout<<name<<"的年齡是 "<<age<<",成績是 "<<score<<endl;
}

int main()
{
    Student stu1("小明", 15, 90.5f);
    stu1.say();

    Student stu2("李磊", 16, 95);
    stu2.say();

    Student stu3("王爽", 16, 80.5f);
    stu3.say();

    cout<<"main 函數即將運行結束"<<endl;

    return 0;
}

 

 二 .C ++對象的常引用         我們知道,一個變量的引用就是變量的別名。實質上,變量名和引用名都指向同一段內存單元。         如果形參為變量的引用名,實參為變量名,則在調用函數進行虛實結合時,並不是為形參另外開辟一個存儲空間(常稱為建立實參的一個拷貝), 而是把實參變量的地址傳給形參(引用名),這樣引用名也指向實參變量。  
#include <iostream>
using namespace std;
class Time
{
   public:
   Time(int h,int m,int s):hour(h),minute(m),sec(s){}
   int hour;
   int minute;
   int sec;
};
//對象的常引用
void fun( const Time &t)
{
   std::cout<<t.hour<<t.minute<<t.sec;
}

int main( )
{
   Time t1(10,13,56);
   //直接傳遞對象
   fun(t1);
   return 0;
}

 


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