2015年大一下第1周项目1-阅读程序(2)
2015-03-14 11:13
218 查看
/* *Copyright (c) 2014,烟台大学计算机学院 *All rights reserved. *文件名称:Annpion.cpp *作者:王耀鹏 *完成日期:2015年3月14日 *版本号: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: 去掉,记录出现的问题___成员函数变成private型。___,原因是___类中默认的类型为private型__。加上public,将程序改回正确状态。 •将第18行void Student::display( )写作为void display( ),即去掉Student::,结果会是__函数范围不明确___?Student::的作用是___确定函数范围__。将程序改回正确状态。 •在第30行后加一句:stud1.num=3,记录出现的情况,并解释原因。___'num' is private,因为num是数据成员,类型为私有型。___ •去掉刚加的那一行,将第31行stud1.display();中的stud1.去掉,记录出现的情况,并解释原因。___范围不明确,因为stud1.的作用是确定对象。_____ •在32行后增加cout<<sizeof(stud1)语句,看输出的结果,请做出解释__输出"28"这个数字,"28"为对象stud1在内存中所占的字节数。_? •初学者常将类定义后的分号丢掉,试将13行最后的分号去掉,记录出现的提示,并做出解释。____expected';' after class definition. 缺少分号,就表示类的定义没有结束。也就没有了类的定义。_____ •你能想到的其他“坏”点子继续折腾吗?折腾出真知!
相关文章推荐
- 2015年大一下第1周项目1-阅读程序(1)
- 2015年大一下第12周项目0-阅读程序
- 2015年大一下第1周项目5-图书馆的书
- 2015年大一下第1周项目4-时间类
- 第1周项目1-阅读程序(2)
- 2015年大一下第4周项目3-用多文件组织多个类的程序
- 第1周-项目0-阅读程序1
- 第1周-项目0-阅读程序2
- 第1周项目1-阅读程序
- 2015年大一下第11周项目0-多重继承(程序填空)
- 2015年大一下第1周项目2-旱冰场造价
- 2015年大一下第13周项目4-处理C++源代码的程序(1)main()函数
- 2015年大一下第1周项目3-长方体类
- 2015年大一下第2周项目3-程序的多文件组织
- 第十一周项目 0 阅读程序(2)
- 第十二周项目一——阅读程序(3)
- 第九周项目 00 阅读程序(4)
- 第十五周项目 阅读程序(2)
- 2013级Java第1周(春)项目——一个简单的考勤签到程序
- 第12周项目1--阅读程序(1、静态局部变量)