/*
*Copyright(c)2014,烟台大学计算机学院
*Allrights reserved.
*文件名称:MADE2.cpp
*作 者:张生栋
*完成日期:2015年3月18日
*问题描述:略
*输入描述:略
*输出描述:略
*版 本 号: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称为类的__成员_______,其访问权限为__私有的______,意味着__它们只能在类的内部使用_______。
?该类中,set_data和display称为类的__成员函数_____,其访问权限为___公共的_____,意味着_外界可以调用________。
?在main()函数中26行后,调用stud1.display();,将会出现什么结果?请解释原因。_运行后会出现三个随机数字,因为没有给stud1中的num,name,sex赋值_______
?请删除上面加的一行代码,在main()函数的28行后,调用stud2.sex='f';,记录提示的错误_9 error:'char Student::sex'is private_ 29 error_:within this context__?为什么会这样?_______
?将第9行char sex;移到第10行后面,即将sex成员声明为公共数据成员,再次编译程序。请解释不会出错的原因,并对这种做法进行评价。'sex'被定义为公共成员数据,所以不出错,但降低了安全性________________________
?将第6行private: 去掉,结果是否发生变化,请解释原因。_不会,因为若不指明,系统会默认为私有______
?将第10行public: 去掉,记录出现的情况,并解释原因。_||=== ww, Debug ===|
D:\ww\main.cpp|22|error: 'void Student::set_data(int, char*, char)' is private|,因为成员函数display()已经变为私有了,所以不能用main函数调用
第二周课后实践(1)
最新推荐文章于 2022-11-07 19:18:51 发布