实验二类和对象
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二类和对象
1.实验目的:
(1) 掌握Visual C++6.0基本操作
(2) 了解C++程序运行环境;
(3) 掌握简单的C++程序的开发过程(编辑、编译、连接和运行)。
(4) 掌握类及其成员的定义方法;
(5) 掌握对象的创建方法;
2.实验内容:
2.1按要求分析程序指出程序运行的结果:
1)分析下面的程序,并给出程序运行的结果:
#include
class change
{char c1,c2;
public:
void set(char a){c2=((c1=a)-32);}
void print()
{cout< }; void main() {change a,b; a.set('a'); b.set('b'); a.print(); b.print(); } 运行结果: a can be upwritten as A b can be upwritten as B Press any key to continue 程序分析: 由主函数可知,创建的类名为change,两个类对象为a,b,类中含有两个公有成员函数set(char a)和print(),利用函数set(char a)对两个私有成员数据赋值,即为减数与被减数的数值,利用函数print()对两个运算后的类对象进行输出。 2)分析下面的程序,并给出输出结果: #include class pair {char c1,c2; public: void set(char b) {c1=1+(c2=b);} unsigned where_am_I() {return((unsigned)this);} {cout< }; void main() {pair a,b,c; a.set('A'); b.set('B'); c.set('C'); a.print(); cout<<"is at "< b.print(); cout<<"is at "< c.print(); cout<<"is at "< } 运行结果: B+A is at 1245052 C+B is at 1245048 D+C is at 1245044 Press any key to continue 程序分析: 由主函数可知,创建的类名为pair,三个类对象为a,b,c,类中含有,三个公有成员函数set(char b)和where_am_I()和print(),利用函数set(char b)对两个私有成员数据赋值,利用函数where_am_I() this 是一个指针,这个返回语句的功能是把this指针指向的对象的地址用无符号数的类型返回。例如如果this 指向对象的地址是0x0000ffff,则返回值就是这个。 + 利用函数print()对两个运算后的类对象进行输出。 2.2编写并调试程序: 1)下面是一个类的测试程序,给定主函数,请写出类的定义,构成一个完整的程序,使执行程序后输出结果为:88-32=56 给定的主函数为: void main() { Tst t; t.init(88,32); t.print(); } 2)编程分析 由主函数可知,要创建的类名为Tst,一个类对象为t,类中含有两个公有成员函数init()和print(),利用函数init()对两个私有成员数据赋值,即为减数与被减数的数值,为了程序的实现需要定义第三个成员数据作为减法之差。 #include class Tst { int x,y,z; public: void init(int a,int b){ z=((x=a)-(y=b)); } void print() {cout< void main() { Tst t; t.init(88,32); t.print(); } 4)运行结果 88-32=56 5)调试情况分析 3.实验结论: