实验9类和对象 【实验目的】 1掌握类的定义方法,正确理解类与结构体的异同 2.学习对象的说明和使用方法 3.掌握定义构造函数、重载构造函数的方法 4.理解构造函数的作用 5.掌握定义析构函数的方法,理解析构函数的作用 6.加深理解拷贝构造函数的作用和用途 【实验内容】 1.定义一个三角形类。该类的私有成员是三个边长;公有成员函数用于计算三角形 的面积。设计相应的程序测试该类的功能,并将类的定义作为接口,用多文件结 构实现之。 ∥ Triangle. h内容 class triangle double a.b.c. ublic: void set(double ll, double 12, double 3) void areao ∥ Triangle. cpp内容 #include #include #include Triangle. h void Triangle: set(double ll, double n2, double 13) l3; id Triangle doubl cout #include <string. h
实验 9 类和对象 【实验目的】 1 掌握类的定义方法,正确理解类与结构体的异同 2.学习对象的说明和使用方法 3.掌握定义构造函数、重载构造函数的方法 4.理解构造函数的作用 5.掌握定义析构函数的方法,理解析构函数的作用 6.加深理解拷贝构造函数的作用和用途 【实验内容】 ⒈定义一个三角形类。该类的私有成员是三个边长;公有成员函数用于计算三角形 的面积。设计相应的程序测试该类的功能,并将类的定义作为接口,用多文件结 构实现之。 //Triangle.h 内容 class Triangle {private: double a,b,c; public: void set(double l1,double l2,double l3); void area(); }; //Triangle.cpp 内容 #include #include #include "Triangle.h " void Triangle::set(double l1,double l2,double l3) { a=l1;b=l2;c=l3;} void Triangle::area() { double s; s=(a+b+c)/2; cout #include
class COMMU i char *pName; 姓名,数据成员为私有的 char * sChool ∥单位 ∥电话号码 char Box[10; ∥邮编 public: Print(void) 输出数据成员 {cout #include <string. h class COMMu
class COMMU { char *pName; //姓名,数据成员为私有的 char *pSchool; //单位 char *pNum; //电话号码 char Box[10]; //邮编 public: void Print(void) //输出数据成员 {cout #include class COMMU
i char *pName /姓名,数据成员为私有的 char school;∥单位 char pNum ∥/电话号码 char Box[10;∥邮编 ablin void Print((void)/输出数据成员 {cout<<"姓名:"< pName<"; cout<<"单位:"< sChool<"t; cout<<"电话号码:<pNum<"; cout<<"邮编:<<Box<<"n';} COMMU(char * char * char * char ") COMMUO -COMMU0 COMMU∷ COMMUO ∥-省的构造函数 SChool Box|0]=0; COMMU: COMMU(char * name, char *unit, char *num, char * b) {cout<<"调用构造函数来初始化对象"<endl pName= new char strlen(name)+1;/重载构造函数 strep(pName, name); sChool new char strlen(unit)+I strcpy(sChool, unit) pNum=new char strlen(num+1; strcpy(pNum, num); strcpy (Box, b ) COMMU: COMMU 析构函数 cou 调用析构造函数来释放对象"<<endl delete pName if(sChool) delete school; if(pNum) delete pnum; void main(void coMmu C1("张建国";"湛江师范学院","02585595638";"210024"); COMMU C2("李国强","湛江海洋大学","02585432455","210015"); cl Printo c2. Printo
{ char *pName; //姓名,数据成员为私有的 char *pSchool; //单位 char *pNum; //电话号码 char Box[10]; //邮编 public: void Print(void) //输出数据成员 {cout<<"姓名:"<<pName<<'\t'; cout<<"单位:"<<pSchool<<'\t'; cout<<"电话号码:"<<pNum<<'\t'; cout<<"邮编:"<<Box<<'\n';} COMMU(char *,char *,char *,char *); COMMU(); ~COMMU(); }; COMMU :: COMMU() //缺省的构造函数 { pName = pSchool = pNum =0; Box[0] = 0;} COMMU::COMMU(char *name,char *unit,char *num,char *b) { cout<<"调用构造函数来初始化对象"<<endl; pName = new char [strlen(name)+1]; //重载构造函数 strcpy(pName,name); pSchool = new char [strlen(unit)+1]; strcpy(pSchool,unit); pNum = new char [strlen(num)+1]; strcpy(pNum,num); strcpy(Box,b); } COMMU::~COMMU( ) //析构函数 {cout<<"调用析构造函数来释放对象"<<endl; if(pName) delete [] pName; if(pSchool) delete [] pSchool; if(pNum) delete [] pNum; } void main(void ) { COMMU c1("张建国","湛江师范学院","025-85595638","210024"); COMMU c2("李国强","湛江海洋大学","025-85432455","210015"); c1.Print(); c2.Print(); }