/*Copyright (c) 2011, 煙臺大學計算機學院 * All rights reserved. * 作 者: 石堯 * 完成日期:2014 年03 月 15日 * 版 本 號:v1.0 * * 問題描述:類的描述。 * 樣例輸入:略. * 樣例輸出:略。 * 問題分析:略。 */ #include <iostream> #include <cstring> using namespace std; class Student { private: int num; char name[20]; char sex; public: void set_data(int n, char *p,char s) { num=n; strcpy(name,p); sex=s; } void display( ) { cout<<"num: "<<num<<endl; cout<<"name: " <<name<<endl; cout<<"sex: " <<sex<<endl; } }; int main() { Student stud1,stud2; stud1.set_data(1,"He",'f'); stud2.set_data(2,"She",'m'); stud1.display(); stud2.display(); return 0; } 實踐和思考: 程序中定義的類名是__student______? 在main函數中,定義的stud1和stud2稱爲_對象___________? 該類中,num、name、sex稱爲類的__數據成員_______,其訪問權限爲_私有_______,意味着_只有student函數能調用________。 該類中,set_data和display稱爲類的_成員函數______,其訪問權限爲__公用______,意味着_整個函數都能調用________。 在main()函數中26行後,調用stud1.display();,將會出現什麼結果?請解釋原因。________ 請刪除上面加的一行代碼,在main()函數的28行後,調用stud2.sex='f';,記錄提示的錯誤_沒有定義____?爲什麼會這樣?_因爲私有函數不能被公有化______ 將第9行char sex;移到第10行後面,即將sex成員聲明爲公共數據成員,再次編譯程序。請解釋不會出錯的原因,並對這種做法進行評價。_此函數只能用一次,如果定義常變量的話不易操作複雜數據_______________________ 將第6行private: 去掉,結果是否發生變化,請解釋原因。不會,因爲自定義了_______ 將第10行public: 去掉,記錄出現的情況,並解釋原因。_數據全部變爲私有數據______