第二周 阅读程序(1)

来源:互联网 发布:好看的饰品店知乎 编辑:程序博客网 时间:2024/05/22 00:46
/*  * Copyright (c) 2014, 烟台大学计算机学院  * All rights reserved.  * 文件名称:test.cpp  * 作    者:呼亚萍  * 完成日期:2015年 3月 16日  * 版 本 号: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称为类的______对象___,其访问权限为___private_____,意味着___该成员只能被该类中的成员函数引用,类外函数不能调用______。该类中,set_data和display称为类的__成员函数_____,其访问权限为_public_______,意味着___该成员不仅能被该类中的成员函数引用,也可被该类作用域中的其他函数引用______。在main()函数中26行后,调用stud1.display();,将会出现什么结果?请解释原因。_stud1输出不正确,因为没有初始化就输出_______请删除上面加的一行代码,在main()函数的28行后,调用stud2.sex='f';,记录提示的错误__sex is private___?为什么会这样?___sex的访问权限为私有,类外无法直接调用____将第9行char sex;移到第10行后面,即将sex成员声明为公共数据成员,再次编译程序。请解释不会出错的原因,并对这种做法进行评价。___sex为public类型,类外可直接调用,_但不赞同此做法,这样会在main函数中造成不便____________________将第6行private: 去掉,结果是否发生变化,请解释原因。__不会,因为在class下,不声明访问权限则默认为private_____将第10行public: 去掉,记录出现的情况,并解释原因。__成员函数无法调用,因为在类内成员函数已默认为private_____<pre class="html" name="code"> 

运算结果:


学习心得:

对类与对象有了一定的了解以及对private与public的了解。

0 0
原创粉丝点击