第1周项目1-阅读程序(2)
来源:互联网 发布:sem seo区别 编辑:程序博客网 时间:2024/06/05 03:33
/* *copyright (c)2014,烟台大学计算机学院 *All rights reserved *文件名称:project.cpp *作者:孙春红 *完成日期:2015年3月17日 *版本号:v1.0 * *问题描述:阅读程序回答问题。 *输入描述:略。 *程序输出:略。 */ #include <iostream>#include <cstring>using namespace std;class Student{public: void set_date(int n,char *p,char s); void display();private: int num; char name[20]; char sex;}void Student::set_date(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_date(1,"He",'f'); stud2.set_date(2,"she",'m'); stud1.display(); stud2.display(); return 0;}/*概括这种写法的特点:在类外定义成员函数;*在类定义中,公共成员在前,私有成员在后,方便使用者打开后就可以看到此类文件*成员函数的实现写在类定义之外,有何好处?不仅能减少类体的长度,使类体清晰,便于阅读,而且能使类的接口和类的实现细节分离。*将第五行的public删去,记录出现的问题,原因是:去掉后所有定义的都会被默认为私有的。*将第20行void Student::display( )写作为void display( ),即去掉Student::,结果会是:Student::的作用是:它是域限定,用于声明属于哪个类。*在第30行后加一句:stud1.num=3,记录出现的情况:出现error,并说明stud1.num is private。并解释原因:num是私有的数据成员,不能被类外调用。*去掉刚加的那一行,将第31行stud1.display();中的stud1.去掉,记录出现的情况:error:‘displaywas not declared inthis scope.并解释原因。原因:display()是类中的成员函数,不是类外定义的函数,使用时要指定对象。*在32行后增加cout<<sizeof(stud1)语句,看输出的结果,请做出解释:多了28,sizeof()是求出了stud1的name,num,sex所占的字节的总和,cout语句输出。*初学者常将类定义后的分号丢掉,试将13行最后的分号去掉,记录出现的提示:error:excepted ';'after classdefinition.并做出解释:类的定义是个语句,要在最后加上分号。*/
运行结果:
去掉stud1.display()中的stud1.后的结果:
知识点总结:
阅读程序,认识类和对象,理解并分析程序代码出现的·错误。
0 0
- 第1周项目1-阅读程序(2)
- 第12周项目1-阅读程序(2)
- 第12周 项目1-阅读程序(2)
- 第12周项目1--阅读程序(2 全局变量)
- 第15周项目2阅读程序(1)
- 第4周项目1-阅读程序(2)
- 第10周项目1 (程序项目与阅读)
- 第1周项目1-阅读程序
- 第7周项目1-阅读程序
- 第8周项目 程序阅读(1)
- 第11周项目 程序阅读(1)
- 第12周项目 程序阅读(1)
- 第13周项目 程序阅读(1)
- 第12周项目1-阅读程序(1)
- 第4周项目1-阅读程序(1)
- 第10周项目1(2)-程序填充与阅读
- 第15周项目2(1)-阅读程序
- 第15周项目2 程序阅读1
- 关于Java和CPP强制类型转换
- Git 學習(3)—— 遠程倉庫
- 时间类
- 绘图 ios (CGRect Frame Bounds)
- PHP 时间、int、字符串转换
- 第1周项目1-阅读程序(2)
- 3月上机有感
- 阅读程序
- 第2周阅读程序(1)
- 【C#】19. Set、Dictionary创建AssocArray
- 第二周项目1 旱冰场造价
- 图书馆管理系统
- 第1周项目2-旱冰场造价
- php常量的声明和使用