第三週項目1-2

/*Copyright (c) 2011, 煙臺大學計算機學院
* All rights reserved.
* 作    者: 石堯
* 完成日期:2014 年03  月 15日
* 版 本 號:v1.0
*
* 問題描述:類的描述。
* 樣例輸入:略.
* 樣例輸出:略。
* 問題分析:略。
*/
#include <iostream>
#include <cstring>
using namespace std;
class Student
{
public:
    void set_data(int n, char *p,char s);
    void display( );
private:
    int num;
    char name[20];
    char sex;
};
void Student::set_data(int n, char *p,char s)
{
    num=n;
    strcpy(name,p);
    sex=s;
}
void Student::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;
}
實踐和思考:
概括這種寫法的特點________。
在類定義中,公共成員在前,私有成員在後,有何好處?___
成員函數的實現寫在類定義之外,有何好處?________
將第5行public: 去掉,記錄出現的問題______,原因是_____。加上public,將程序改回正確狀態。
將第18行void Student::display( )寫作爲void display( ),即去掉Student::,結果會是_____?Student::的作用是_____。將程序改回正確狀態。
在第30行後加一句:stud1.num=3,記錄出現的情況,並解釋原因。______
去掉剛加的那一行,將第31行stud1.display();中的stud1.去掉,記錄出現的情況,並解釋原因。________
在32行後增加cout<<sizeof(stud1)語句,看輸出的結果,請做出解釋___?
初學者常將類定義後的分號丟掉,試將13行最後的分號去掉,記錄出現的提示,並做出解釋。_________
你能想到的其他“壞”點子繼續折騰嗎?折騰出真知!


發佈了84 篇原創文章 · 獲贊 3 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章