
C++ 的介面是放在標頭檔 (header file) 之中,我們為 Demo 類別設計一個 Demo.h
class Demo {
public:
Demo();
Demo(int n);
Demo(int n1, int n2);
void setA(int n);
void setB(int n);
int getA();
int getB();
int do_something();
private:
int a;
int b;
};
/* 《程式語言教學誌》的範例程式
http://pydoing.blogspot.com/
檔名:Demo.h
功能:示範 C++ 程式
作者:張凱慶
時間:西元 2012 年 10 月 */然後實作放在另一個 Demo.cpp 檔案中
#include "Demo.h"
Demo::Demo() {
a = 1;
b = 1;
}
Demo::Demo(int n) {
a = n;
b = n;
}
Demo::Demo(int n1, int n2) {
a = n1;
b = n2;
}
int Demo::do_something() {
return getA() + getB();
}
void Demo::setA(int n) {
a = n;
}
void Demo::setB(int n) {
b = n;
}
int Demo::getA() {
return a;
}
int Demo::getB() {
return b;
}
/* 《程式語言教學誌》的範例程式
http://pydoing.blogspot.com/
檔名:Demo.cpp
功能:示範 C++ 程式
作者:張凱慶
時間:西元 2012 年 10 月 */注意首行用雙引號引入 Demo.h ,角括弧用在標準程式庫 (standard library) ,至於自己設計的標頭檔則是用雙引號
#include "Demo.h"
Demo.cpp 並沒有 main() 函數 (function) ,因此我們需要另外設計一個包含 main() 的 .cpp 檔案
#include <iostream>
#include "Demo.h"
using namespace std;
int main(void) {
Demo t1;
Demo t2(11);
Demo t3(11, 22);
cout << endl;
cout << t1.do_something() << endl;
cout << t2.do_something() << endl;
cout << t3.do_something() << endl;
cout << endl;
return 0;
}
/* 《程式語言教學誌》的範例程式
http://pydoing.blogspot.com/
檔名:classdemo4.cpp
功能:示範 C++ 程式
作者:張凱慶
時間:西元 2012 年 10 月 */classdemo4.cpp 同樣需要引入 Demo.h ,不然編譯器 (compiler) 會不認識 Demo 的名稱唷!
編譯時要把 Demo.cpp 與 classdemo4.cpp 放在一起編譯,編譯執行結果如下

C++ 的程式概念大抵介紹到這裡,接下來,我們要發展一個編密碼的 Encrypt 類別,藉以介紹更多 C++ 的特性。
| 中英文術語對照 | |
|---|---|
| 介面 | interface |
| 類別 | class |
| 宣告 | declare |
| 實作 | implementation |
| 成員函數 | member function |
| 標頭檔 | header file |
| 標準程式庫 | standard library |
| 函數 | function |
| 編譯器 | compiler |
您可以繼續參考
基礎篇
相關目錄
回 C++ 入門指南
回 C++ 教材目錄
回首頁
參考資料
http://www.cplusplus.com/doc/tutorial/classes/
http://www.cplusplus.com/doc/tutorial/classes2/
2 則留言:
int main(void) {
Demo t1();
}
classdemo4.cpp那邊應該是#include "Demo.cpp"而不是Demo.h
張貼留言