/*
* 檔名稱:test.cpp
* 作 者:徐洪祥
* 完成日期:2023年 3 月 18日
* 版 本 號:v1.0
*
* 輸入描述:
* 程式輸出:
#include #include using namespace std;
class student
; void student::set_data(int n, char *p,char s)
void student::display( )
int main()
}問題:
•概括這種寫法的特點________。
•在類定義中,公共成員在前,私有成員在後,有何好處?這樣可以使使用者將注意力集中在能被外界呼叫的成員上,使閱讀者的思路更清晰一些___
•成員函式的實現寫在類定義之外,有何好處?_減少了程式設計的工作量_______
•將第5行public: 去掉,記錄出現的問題_函式無法呼叫_____,原因是_系統預設更改為private____。加上public,將程式改回正確狀態。
•將第18行void student::display( )寫作為void display( ),即去掉student::,結果會是_cpp: in function 'void display()':
cpp:22:20: error: 'num' was not declared in this scope
cpp:23:22: error: 'name' was not declared in this scope
cpp:24:21: error: '***' was not declared in this scope
____?student::的作用是student::中,student是類名,::是作用域限定符(作用域運算子)用它宣告函式是屬於那個類的。_____。將程式改回正確狀態。
•在第30行後加一句:stud1.num=3,記錄出現的情況,並解釋原因。出現的情況:
cpp:10:9: error: 'int student::num' is private
cpp:31:11: error: within this context
原因:num是此類中的私有的資料成員,不能在類外被引用。
______
•去掉剛加的那一行,將第31行stud1.display();中的stud1.去掉,記錄出現的情況,並解釋原因。出現的情況:
cpp:31:13: error: 'display' was not declared in this scope
原因:display()是類student中的成員函式,而不是類外直接定義的函式,使用它時需要指定物件
________
•初學者常將類定義後的分號丟掉,試將13行最後的分號去掉,記錄出現的提示,並做出解釋。
第二週 課後實踐 閱讀程式(1)
問題及 檔名稱 test.cpp 完成日期 2015年03月17日 版本號 v1.0 輸入描述 略 程式輸出 略 include include using namespace std class student void display cout 問題 程式中定義的類名是 student 在mai...
第三週 課後實踐 閱讀程式
問題及 檔名稱 project.cpp 作 者 chenqin.完成日期 2015年3月21日 版 本 號 v1.0 問題描述 按照封裝與資訊隱藏的原則,除非特別需要,類中的資料成員需要設定為私有。由此帶來的問題是,在類外如何訪問這些私有成員?下面4段程式概括了常用的方法。請仔細閱讀下面的程式,在閱...
第三週 課後實踐 閱讀程式
按照封裝與資訊隱藏的原則,除非特別需要,類中的資料成員需要設定為私有。由此帶來的問題是,在類外如何訪問這些私有成員?下面4段程式概括了常用的方法。請仔細閱讀下面的程式,在閱讀過程中,畫出物件 變數在記憶體中的表示圖,寫出這些程式的執行結果 包括變數的變化過程及程式的最終輸出 達到徹底理解這些機制的目...