实验六 类与对象
- 格式:doc
- 大小:35.50 KB
- 文档页数:3
实验六类与对象
一、实验目的
1.掌握面向对象程序设计的特点。
2.掌握类的使用、定义和实现.
2. 熟悉面向对象的编程方法。
二、实验内容
1.按要求完成下列各题
(1)调试程序中的语法错误,使之输出下列结果:#include <iostream>
using namespace std;
clase Time
{
Private:
int hour;
int minute;
int sec;
Publice:
Void set_time( );
Void show_time( );
}
Void Time::set_time( );
{ cin>>hour;
Cin>>minute;
Cin>>sec;
}
Void Time::show_time( );
{
Cout<<hour<<”:”<<minute<<”:”<<sec<<endl; }
int main()
{ Time t;
T.set_time();
T.show_time();
}
运行结果:
输入:14 02 56
输出:14:02:56
要求:①添加语句注释。
②将程序中的数据成员改为公有、函数改成普通函数后,如何修改程序,并输出正确的结果。
Public:
int hour;
int minute;
int sec;
int main()
{ set_time();
show_time();
return 0;
}
③修改程序,将类的声明部分定义成一个头文件,并上机调试。
(2)上机调试下列程序,使之输出下列结果:
This is a test.
Length:15
I like VC++
Freeing p
Freeing p
要求:
①添加语句注释。
②简答:在程序下面写出构造函数和析构函数在程序中能否直接调用;如果程序中未定义构造函数,编译系统是否会自动产生一个构造函数。
程序:
#include <string.h>
#include<stdio.h>
class StrType
{
public:
StrType(char *ptr);
~StrType();
show();
private:
char *p;
int len;
};
StrType::StrType(char *ptr)
{
len=strlen(ptr);
*p=new char();
if(!p){
cout<<("Allocation error\n");
}
strcpy(p,ptr);
}
StrType::~StrType()
{
cout>>"Freeing p">>endl;
delete p;
}
void StrType::show()
{
cout<<*p<<endl;
cout<<"length:"<<len<<endl;
}
void main()
{ char ch1[15];
cin>>ch1;
StrType s1(ch1);
Char ch2[12];
StrType s2(ch2);
s1.show();
s2.show();
}
2.编一程序,用类实现求5!的值(要求使用构造函数、析造函数)。
3.定义一个Employee类,其中包括表示姓名、性别、年龄、城市和邮编等属性,包括chage_name()和display()等函数;display()显示姓名、性别、城市和邮编等属性,函数change_name()改变对象的姓名、年龄、城市属性,实现并测试这个类。
4.用类结构的形式编写一个程序,使其可实现输入5个学生姓名、性别和年龄,并按年龄从大到小进行排序输出。
三、实验报告
写出程序清单和运行结果。