( 14 )补充完整下面的类定义:class XCH{char* a;public:XCH ( char* as ) { // 构造函数a=new char[strlen ( aa ) +1];strcpy ( a,aa ) ;}XCH perator= ( const XCH x ) // 重载赋值函数Delele []a;A=new char[strlen ( x.a ) +l];strcpy ( a, x .a )【 14 】 ;}~XCH () {delete []a;}};

( 14 )补充完整下面的类定义:

class XCH{

char* a;

public:

XCH ( char* as ) { // 构造函数

a=new char[strlen ( aa ) +1];

strcpy ( a,aa ) ;

}

XCH& perator= ( const XCH& x ) // 重载赋值函数

Delele []a;

A=new char[strlen ( x.a ) +l];

strcpy ( a, x .a )

【 14 】 ;

}

~XCH () {delete []a;}

};


相关考题:

有如下类定义,请将Sample类的复制构造函数补充完整。class Sample{public:Sample( ){ }~Sample( ){if(P)delete P;)Sample(const Samples){______}void SetData(int datA) {P=new int(datA) ;}private:int*P:};

类Sampie的构造函数将形参data赋值给数据成员data。请将类定义补充完整。class Sample{public:Sample(int data=0);priVate:int data:};Sample::Sample(int datA) {______}

使用VC6打开考生文件夹下的工程test37_3。此工程包含一个test37_3.cpp,其中定义了类Letter和Number以及Grid,其中Grid类由Letter类和Number类public派生,但三个类的定义并不完整。请按要求完成下列操作,将程序补充完整。(1)添加类Letter的带一个参数c的构造函数,c是char型的数据,默认值为'A',该函数把参数c的值赋给类的保护成员ch,请在注释“//**1**”之后添加适当的语句。(2)添加类Number的带一个参数n的构造函数,n是int型的数据,默认值为0,该函数把参数n的值赋给类的保护成员num,请在注释“//**2**”之后添加适当的语句。(3)添加派生类Grid构造函数的定义,传入的参数为char型的c和血型的n,并将其分别赋值给基类的ch和num,请在注释“//**3**”之后添加适当的语句。(4)完成派生类Grid的友元函数——“<<”运算符重载的定义,使其以格式“[g.ch,g.num]”输出,请在注释“//**4 **”之后添加适当的语句。源程序文件test37_3.cpp清单如下:include<iost ream. h>class Letter{protected:char ch;public:// ** 1 **};class Number{protected:int num;public:// ** 2 **};class Grid : public Letter, public Number{public:// ** 3 **friend ostream operator<<(ostream o,Grid g);};// ** 4 **{o << "[" << g.ch << ", "<< g.num << "]";return o;}int main ( ){Grid g('C', 3);cout << "Grid reference: "<< g << end1;return 0;}

使用VC6打开考生文件夹下的工程test17_3,此工程包含一个源程序文件test17_3.cpp,其中定义了用于表示点的类Point和表示内容的类Text以及二者的派生类CircleWithText,但它们的定义并不完整。请按要求完成下列操作,将它们的定义补充完整。(1)定义类Point的构造函数,请使用参数列表的形式将成员函数x和y分别初始化为参数x1和y1的值。请在注释“//**1**。”之后添加适当的语句。(2)完成类Text的构造函数Text(char *str)的定义,将char型的str指向的内容赋值给text并且输出str所指向的内容,请在注释“//**2**”之后添加适当的语句。(3)定义类CircleWithText的构造函数CircleWithText(int cx,int cy,char *msg),int型的cx和cy用于赋值给x和y,char型的指针*msg用于赋值给text,请在注释“//**3**”之后添加适当的语句。输出结果如下:Point:3 4hello注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。源程序文件test17_3.cpp清单如下:include <iostream.h>include <string.h>class Point{int x,y;public://**1**{cout<<"Point:"<<x<<' '<<y<<'\n';}~Point(){}};class Text{char text[100];public:Text(char *str){//**2**}~Text () { }};class CircleWithText:public Point,public Text{public://**3**{}~CircleWithText() {}};void main(){CircleWithText cm(3,4,"hello");}

补充完整下面的类定义:class XCH{char*a;public:XCH(char*a A) { //构造函数a=new char[strlen(aA) +1];strcpy(a,aA) ;}XCHoperator=(const XCHx){//重载赋值函数delete[ ]a;a=new char[strlen(x.A) +1];strcpy(a,x.A) ;______;}~XCH( ){delete[ ]a;}};

补充完整下面的类定义:class XCH{char*a:public:XCH(char球an){ //构造函数a=new char[strlen(aft)+1];strcpy(a,aA);}XCHoperator=(const XCHx){ //重载赋值函数delete[]a;a=new char[strlen(X.A)+1];strcpy(a,x.A);【 】}一XCH(){delete[]a;}};

有如下类定义,请将Sample类的拷贝构造函数补充完整。class Sample{public:Sample(){)~Sample(){if(p)delete p;)Sample(const Sample s){______}void SetData(int data) {p=new int(data);}private:int*p;};

已知String类定义如下:class String{public:String(const char *str = NULL); // 通用构造函数String(const String another); // 拷贝构造函数~ String(); // 析构函数String perater =(const String rhs); // 赋值函数private:char *m_data; // 用于保存字符串};尝试写出类的成员函数实现。

使用VC6打开考生文件夹下的工程test18_3,此工程包含一个源程序文件test18_3.cpp,其中定义了用于表示雇员的类 Employee,但类Employee的定义并不完整。请按要求完成下列操作,将类Employee的定义补充完整。(1)补充类Employee的构造函数,请使用字符串函数将数据成员name,address,city,province和zipcode分别初始化为参数*nm,*addr,*city,*prov和*zip的值。请在注释“//**1**”之后添加适当的语句;(2)完成类Employee的成员函数ChangeName(char * newName)的定义,将newName指向的内容赋值给数据成员name,请在注释“//**2**”之后添加适当的语句;(3)完成类Employee的成员函数Display()的定义,先使用指针buffer动态申请一个char型的200单位大小的空间,然后使用字符串函数将数据成员name和address依次复制其中,最后返回该指针buffer,将请在注释“//**3**”之后添加适当的语句。输出结果如下:王东建国路大街105号注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。源程序文件test18_3.cpp清单如下:include <iostream.h>include <string.h>class Employee{protected:char name[20];char address[100];char city[20];char province[20];char zipcode[10];public:Employee(char *nm, char *addr,char *city, char *prov, char *zip);void ChangeName(char *newName);char *Display();};Employee::Employee(char *nm, char *adr, char *cit, char *prov, char *zip){//**1**strcpy(city, cit);strcpy(province,prov);strcpy(zipcode,zip);}void Employee::ChangeName(char * newName){//**2**}char *Employee::Display(){//**3**strcat(buffer, address);return buffer;}void main(){Employee emp("李华","建国路大街105号","石家庄","河北","103400");emp. ChangeName ("王东");cout<<emp.Display()<<end1;}