C++類聲明和成員函數定義的分離
在C++中,一般做法是將類的聲明放在指定的頭文件中,程序員如果想用該類,只要把有關的頭文件包含進來即可,不必在程序中重複書寫類的聲明,以減少工 作量,提高編程的效率。
由於在頭文件中包含了類的聲明,因此在程序中就 可以用該類來定義對象,由於在類體中包含了對成員函數的聲明,在程序中就可以調用這些對象的公用成員函數。
在C++中,如果一個類聲明多次被不同的程序所選用,可以不必每次都對它重複進行編譯,而只需編譯一次即可,把第一次編譯後所形成的目標文件保存起來,以後在需要時把它調出來直接與程序的目標文件相連接即可。
在實際C++開發中,並不是將一個類聲明做成一個頭文件,而是將若干個常用的功能相近的類聲明集中在一起,形成類庫。
C++類庫有兩種:
C++編譯系統提供的標準類庫
自定義類庫,用戶根據自己的需要做成的用戶類庫, 提供給自己和自己授權的人使用。
C++類庫包括兩個組成部分:
類聲明頭文件
已經過編譯的成員函數的定義,它是目標文件。
案例:C++引用多個對象的成員。
#include<iostream>//預處理
using namespace std;//命名空間
class Time
{
public: //聲明以下是公用的
int day;
int hour;
int minute;
};
int main()//主函數
{
Time time1;//定義time1爲Time類對象
cout<<"輸入天:"<<endl;
cin>>time1.day;
cout<<"輸入小時:"<<endl;
cin>>time1.hour;
cout<<"輸入分鐘:"<<endl;
cin>>time1.minute;
cout<<"寫這篇文章是"<<time1.day<<"號,";
cout<<time1.hour<<"點:";
cout<<time1.minute<<"分"<<endl;
cout<<"------------------------------"<<endl;
Time time2;//定義time2爲Time類對象
cout<<"輸入天:"<<endl;
cin>>time2.day;
cout<<"輸入小時:"<<endl;
cin>>time2.hour;
cout<<"輸入分鐘:"<<endl;
cin>>time2.minute;
cout<<"寫這篇文章是"<<time2.day<<"號,";
cout<<time2.hour<<"點:";
cout<<time2.minute<<"分"<<endl;
return 0; //函數返回值爲0;
}
編譯運行結果:
輸入天:
24
輸入小時:
20
輸入分鐘:
25
寫這篇文章是24號,20點:25分
------------------------------
輸入天:
18
輸入小時:
15
輸入分鐘:
56
寫這篇文章是18號,15點:56分
--------------------------------
Process exited after 19.05 seconds with return value 0
請按任意鍵繼續. . .
上述代碼,讀者可以自己嘗試優化一下,比如把輸入輸出單獨抽取爲一個方法。
以上,如果你看了覺得對你有所幫助,就給小林點個贊叭,這樣小林也有更新下去的動力,跪謝各位父老鄉親啦~
C++類聲明和成員函數定義
更多案例可以go公衆號:C語言入門到精通