類體內定義成員函數 #include <iostream> using namespace std; class Time { public: void set_time(); void show_time(); private: //成員改為公用的 int hour; int minute; int sec; }; void Time::set_time() //在main函數之前定義 { cin >> hour; cin >> minute; cin >> sec; } void Time::show_time() //在main函數之前定義 { cout << hour << ":" << minute << ":" << sec << endl; } int main() { Time t1; t1.set_time(); t1.show_time(); return 0; } 2: 2.3 改寫2.2:類體內聲明成員函數,類外定義成員函數 #include <iostream> using namespace std; class Time { public: void set_time(void) { cin >> hour; cin >> minute; cin >> sec; } void show_time(void) { cout << hour << ":" << minute << ":" << sec << endl; } private: int hour; int minute; int sec; }; c++面向對象程序設計 答案 Time t; int main() { t.set_time(); t.show_time(); return 0; } c++面向對象程序設計 譚浩強 3: #include <iostream> using namespace std; class Time { public: void set_time(void); void show_time(void); private: int hour; int minute; int sec; }; c++面向對象程序設計 譚浩強 void Time::set_time(void) { cin >> hour; cin >> minute; cin >> sec; } void Time::show_time(void) { cout << hour << ":" << minute << ":" << sec << endl; } Time t; int main() { t.set_time(); t.show_time(); return 0; } 4: //xt2-4-1.cpp(main.cpp) #include <iostream> using namespace std; #include "xt2-4.h" int main() { Student stud; stud.set_value(); stud.display(); return 0; } //xt2-4-2.cpp(即student.cpp) #include "xt2-4.h" //在此文件中進行函數的定義 #include <iostream> using namespace std; //不要漏寫此行 void Student::display() { cout << "num:" << num << endl; cout << "name:" << name << endl; cout << "sex:" << sex << endl; } void Student::set_value() { cin >> num; cin >> name; cin >> sex; } 5: //xt2-5-1.cpp(file1.cpp) #include <iostream> #include "xt2-5.h" int main() { Array_max arrmax; arrmax.set_value(); arrmax.max_value(); arrmax.show_value(); return 0; } //xt2-5-2.cpp(arraymax.cpp) #include <iostream> using namespace std; #include "xt2-5.h" void Array_max::set_value() { int i; for (i = 0; i < 10; i++) cin >> array[i]; } void Array_max::max_value() { int i; max = array[0]; for (i = 1; i<10; i++) if (array[i]>max) max = array[i]; } void Array_max::show_value() { cout << "max=" << max << endl; } 6:解法一 #include <iostream> using namespace std; class Box { public: void get_value(); float volume(); void display(); public: float lengh; float width; float height; }; void Box::get_value() { cout << "please input lengh, width,height:"; cin >> lengh; cin >> width; cin >> height; } float Box::volume() { return(lengh*width*height); } void Box::display() { cout << volume() << endl; } int main() { Box box1, box2, box3; box1.get_value(); cout << "volmue of bax1 is "; box1.display(); box2.get_value(); cout << "volmue of bax2 is "; box2.display(); box3.get_value(); cout << "volmue of bax3 is "; box3.display(); return 0; } 解法二: #include <iostream> using namespace std; class Box { public: void get_value(); void volume(); void display(); public: float lengh; float width; float height; float vol; }; void Box::get_value() { cout << "please input lengh, width,height:"; cin >> lengh; cin >> width; cin >> height; } void Box::volume() { vol = lengh*width*height; } void Box::display() { cout << vol << endl; } int main() { Box box1, box2, box3; box1.get_value(); box1.volume(); cout << "volmue of bax1 is "; box1.display(); box2.get_value(); box2.volume(); cout << "volmue of bax2 is "; box2.display(); box3.get_value(); box3.volume(); cout << "volmue of bax3 is "; box3.display(); return 0; }