第三周项目1-1掌握有对象的结构程序

来源:互联网 发布:微信加好友软件 编辑:程序博客网 时间:2024/04/29 02:04
/*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: 去掉,记录出现的情况,并解释原因。_数据全部变为私有数据______


0 0
原创粉丝点击