2015年大一下第1周项目1-阅读程序(1)
2015-03-14 10:45
288 查看
/* *Copyright (c) 2014,烟台大学计算机学院 *All rights reserved. *文件名称:Annpion.cpp *作者:王耀鹏 *完成日期:2015年3月14日 *版本号: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中的数据,因为stud1.display函数是输出数据的函数。____ •请删除上面加的一行代码,在main()函数的28行后,调用stud2.sex='f';,记录提示的错误__'char Studengt::sex' is private___?为什么会这样?___sex为类中的数据成员,其访问权限为"private",意味着:不能在类外被直接访问。____ •将第9行char sex;移到第10行后面,即将sex成员声明为公共数据成员,再次编译程序。请解释不会出错的原因,并对这种做法进行评价。___________将sex成员声明为公共数据成员,意味着能在类外被直接访问。这样的做法对数据的保密性不是太好。_________________ •将第6行private: 去掉,结果是否发生变化,请解释原因。__不会发生变化,class中数据默认的就是private型。____ •将第10行public: 去掉,记录出现的情况,并解释原因。____成员函数将会变成private,将不能在类外被直接访问。___
相关文章推荐
- 2015年大一下第1周项目1-阅读程序(2)
- 2015年大一下第12周项目0-阅读程序
- 2015年大一下第1周项目2-旱冰场造价
- 第1周项目1-阅读程序
- 2015年大一下第1周项目3-长方体类
- 2015年大一下第1周项目5-图书馆的书
- 2015年大一下第4周项目3-用多文件组织多个类的程序
- 第1周-项目0-阅读程序1
- 第1周项目1-阅读程序(2)
- 2015年大一下第13周项目4-处理C++源代码的程序(1)main()函数
- 2015年大一下第11周项目0-多重继承(程序填空)
- 2015年大一下第2周项目3-程序的多文件组织
- 2015年大一下第1周项目4-时间类
- 第1周-项目0-阅读程序2
- 专访许鹏:谈C程序员修养及大型项目源码阅读与学习
- 第10周项目1 程序的填充与阅读
- 第十周项目一 程序填充与阅读
- 第十周项目一 (程序填充与阅读) 1:
- 专访许鹏:谈C程序员修养及大型项目源码阅读与学习