#include using namespace std; /* run this program using the console pauser or add your own getch, system("pause") or input loop */ //struct struct Circle { double radius; double girth; double area; }; //function double showArea(struct Circle c1) { c1.area = 3.14159*c1.radius*c1.radius; return c1.area; } //class //注意:class盡量不要取名與struct相同的類別名稱 (Circle2) class Circle2 { public: double radius; double area; double showArea() { area = 3.14149*radius*radius; return area; } }; int main(int argc, char** argv) { //1.物件的組成 //(1)資料成員(Data Members) => 儲存資料(變數)。 //又稱為:『屬性,狀態』。在 Java 中稱之為『欄位』。 //(2)成員函式 (Member Functions) => 運算資料。 //又稱為:『行為,能力』。在 Java 中稱之為『方法』。 //2.比較C語言,C++語言 //(1)C語言:函式導向 //在函式導向時期(C 語言時期),雖然可以用結構(struct)宣告一個新型別,集合一群資料。 //但是,那一群資料本身並不具有運算能力,它只能當參數讓函式運算。 //所以,資料與運算資料的函式是沒有關係的 //(2)C++語言:物件導向 //物件導向與函式導向的基本差異是: //物件除了可以:儲存資料,物件還能:運算資料。 //物件導向時期(C++ 時期),改用類別(class)來宣告新型別。 //依照類別的宣告建立的物件,除了是一群資料的集合之外,本身也具有運算的能力。 //也就是說:資料與運算資料的函式是屬於同一個物件的成員。 //3.struct struct Circle a1; a1.radius = 5; cout<<"area = " <