1-有对象的程序结构
2014-03-11 14:37
253 查看
/* * 作 者: 霍雨佳 * 完成日期:2014 年3月4日 * 版 本 号:v1.0 * 问题描述:有对象的程序结构。 * 样例输入: * 样例输出: * 问题分析:熟悉有对象的程序结构,回答问题。 */ #include <iostream> #include <cstring> using namespace std; class Student { private: int num; char name[20]; public: char sex; 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'); stud2.sex='f'; stud1.display(); stud2.display(); return 0; } /* 程序中定义的类名是:Student •l 在main函数中,定义的stud1和stud2称为:结构体变量 •l 该类中,num、name、sex称为类的成员,其访问权限为私有的,意味着只能被本类的成员函数引用。 •l 该类中,set_data和display称为类的公用的成员函数,其访问权限为公用的,意味着既可以被本类中的成员函数所引用也可以被类的作用域的其它函数所引用。 •l 在main()函数中26行后,调用stud1.display();,将会出现什么结果:依然正确。请解释原因:因为该函数是公用的。 •l 请删除上面加的一行代码,在main()函数的28行后,调用stud2.sex='f';,记录提示的错误:该函数是私有的。为什么会这样:因为char sex是在private里声明的。 •l 将第9行char sex;移到第10行后面,即将sex成员声明为公共数据成员,再次编译程序。请解释不会出错的原因,并对这种做法进行评价 因为这时 sex是公用的,很好。 •l 将第6行private: 去掉,结果是否发生变化,请解释原因。不变化,因为如果不声明系统就默认为是私有的。 •l 将第10行public: 去掉,记录出现的情况,并解释原因。会出现很多错误,因为不声明系统就默认为是私有的。 */
运行结果:
开始接触对象啦,有对象的程序哦~~~
相关文章推荐
- 基于分布式对象的网游程序结构设计(1)
- 第三周项目1--有对象的程序结构
- 基于分布式对象的网游程序结构设计(4)-SRP分布式对象的概念
- 例1.1 演示使用结构对象的示例程序。
- (转)在.NET程序运行过程中,什么是堆,什么是栈?什么情况下会在堆(栈)上分配数据?它们有性能上的区别吗?“结构”对象可能分配在堆上吗?什么情况下会发生,有什么需要注意的吗?
- 2013级C++第3周【项目1-掌握有对象的程序结构】
- 掌握对象的程序结构
- 有对象的程序结构(规范版)
- 掌握有对象的程序结构
- 开发宝典:基于分布式对象的网游程序结构设计
- 掌握有对象的程序结构
- 开发宝典:基于分布式对象的网游程序结构设计
- 利用类名创建对象来简化程序结构2
- 消除switch/case语句,不破坏代码的封闭性,使程序结构更符合面向对象思想(一)
- JAVA进阶 面向对象程序设计——第5周 设计原则(耦合和聚合,代码结构设计,程序维护拓展发展)
- NCL基于顺序结构的绘图程序和基于对象的绘图程序对比
- 第三周项目3-掌握有对象的程序结构
- 掌握对象的程序结构2
- 第三周项目1-1掌握有对象的结构程序
- 基于分布式对象的网游程序结构设计(3) - 分布式组件模型DCOM/COBRA