当前位置:文档之家› 实验二

实验二

实验二类定义、构造函数、静态成员编程实验
实验目的
掌握类的定义方法,构造函数、析构函数、拷贝构造函数,静态成员的使用方法。

进一步熟悉Visual C++的编程环境
实验内容
1.定义一个描述通讯录的类,数据成员包括通信录名称(类静态数据成员),姓
名、单位、电话号码、邮编,成员函数有输出各项数据、分别置各项数据、分别获取各项数据,同时包括构造函数、拷贝构造函数、析构函数,以及获取和修改通信录名称的静态成员函数。

实验要求:
(1)通讯录类的定义如下: 
class COM{
static char COMName[100]; //通讯录名称
char *pname; //姓名
char *punit; //单位
char *pnum; //电话号码
char box[6]; //邮编
public:
COM();
COM(char *name,char *unit,char *num,char *b);
COM(const COM &p);
~COM();
void print();
void setname(char *name);
void setuint(char *unit);
void setnum(char *num);
void setbox(char *b);
char *getname();
char *getuint();
char *getnum();
char *getbox();
static char *getCOMName();
static void setCOMName(char *CName);
};
(2)在缺省构造函数中,姓名、单位、电话号码、邮编初始化为空。

 
(3)在构造函数和拷贝构造函数中都要为pname、punit和pnum动态申请空间,即通过new运算申请空间。

 
(4)在析构函数中要根据pname、punit和pnum是否占有空间确定是否需要删除空间,如果需要则要用delete运算回收空间。

 
(5)通讯录类用单独的文件“COM.cpp”实现,,即函数在实现部分定义,通讯录类的定义放在一个头文件“COM.h”中,主文件名为“main.cpp”。

具体步骤如下:1)新建一个项目,命名为“MyCOM”
2)用File|New创建一个新的”C++ Source File”,命名为main.cpp
3)用File|New创建一个新的”C++ Source File”,命名为COM.cpp
4)用File|New创建一个新的”C/C++ Header File”,命名为COM.h
5)在main.cpp和COM.cpp 中包含进头文件:#include “COM.h” 
[测试数据]
测试通讯录类的主程序为:
#include "iostream.h"
#include "COM.h"
void main()
{
COM c1("王大海","江大","88664455","212013"),
c2("张三","江科大","88776699","212034"),c3(c1),c4;
c3.setname("李四");
c4.setname("王五");
c4.setuint("科大");
c4.setnum("22334455");
c4.setbox("212067");
c4.setCOMName("我的通讯录");
cout<<"通讯录:"<<COM::COMName<<endl;
c1.print();
c2.print();
c3.print();
c4.print();
}
[思考问题]
(1)多文件结构中头文件的作用是什么?将程序划分为多个文件有什么好处?
(2)如果在拷贝构造函数中直接对象赋值,结果会如何?。

相关主题