自定義類別
建立類別時習慣上會把宣告放在標頭檔中,因此首先在 CIRCLE.h
中建立類別樣板。以下範例允許使用者建立一個圓的類別,並透過建構子初始化半徑。接著透過函數成員呼叫取得圓面積。
// CIRCLE.h
class CIRCLE
{
// private variables
double _radius;
public:
CIRCLE();
CIRCLE(double radius);
void GetArea();
void SetRadius (double radius);
private:
void Display(double area);
};
在 CIRCLE.cpp
中實作 CIRCLE 的 GetArea、SetRadius、Display 成員函數。這裡須注意定義成員函數時,必須在成員函數名稱前加上所屬類別名稱接兩個冒號。CIRCLE::GetArea()
的意思即代表 GetArea() 函數是屬於 CIRCLE 類別。
// CIRCLE.cpp
#include <stdio.h>
#include "CIRCLE.h"
CIRCLE::CIRCLE()
{
printf("create and init default radius 5.\n");
_radius = 5;
}
CIRCLE::CIRCLE(double radius)
{
_radius = radius;
}
void CIRCLE::GetArea()
{
double area = _radius * _radius * 3.14;
Display(area);
}
void CIRCLE::SetRadius(double radius)
{
_radius = radius;
}
void CIRCLE::Display(double area)
{
printf("Area of a circle: %lf\n", area);
}
在主程式引入 CIRCLE 標頭檔後即可程式中呼叫 CIRCLE 類別並建立一個實例。
// main.cpp
#include <stdio.h>
#include "CIRCLE.h"
int main(){
CIRCLE c(2);
c.GetArea();
c.SetRadius(5);
c.GetArea();
}
編譯:
g++ -o main main.cpp CIRCLE.cpp
輸出結果:
Area of a circle: 12.560000
Area of a circle: 78.500000
Reference
好文參考
鼓勵持續創作,支持化讚為賞!透過下方的 Like 拍手👏,讓創作者獲得額外收入~
版主10在2020年首次開設YouTube頻道,嘗試拍攝程式教學。想要了解更多的朋友歡迎關注我的頻道,您的訂閱就是最大的支持~如果想學其他什麼內容也歡迎許願XD
https://www.youtube.com/channel/UCSNPCGvMYEV-yIXAVt3FA5A
https://www.youtube.com/channel/UCSNPCGvMYEV-yIXAVt3FA5A