- 697.69 KB
- 2022-04-22 11:32:15 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
'课后答案网www.khdaw.com第一章概述1-1简述计算机程序设计语言的发展历程。解:迄今为止计算机程序设计语言的发展经历了机器语言、汇编语言、高级语言等阶段,C++语言是一种面向对象的编程语言,也属于高级语言。1-2面向对象的编程语言有哪些特点?解:面向对象的编程语言与以往各种编程语言有根本的不同,它设计的出发点就是为了能更直接的描述客观世界中存在的事物以及它们之间的关系。面向对象的编程语言将客观事物看作具有属性和行为的对象,通过抽象找出同一类对象的共同属性(静态特征)和行为(动态特征),形成类。通过类的继承与多态可以很方便地实现代码重用,大大缩短了软件开发周期,并使得软件风格统一。因此,面向对象的编程语言使程序能够比较直接地反问题域的本来面目,软件开发人员能够利用人类认识事物所采用的一般思维方法来进行软件开发。C++语言是目前应用最广的面向对象的编程语言。1-3什么是结构化程序设计方法?这种方法有哪些优点和缺点?解:结构化程序设计的思路是:自顶向下、逐步求精;其程序结构是按功能划分为若干个基本模块;各模块之间的关系尽可能简单,在功能上相对独立;每一模块内部均是由顺序、选择和循环三种基本结构组成;其模块化实现的具体方法是使用子程序。结构化程序设计由于采用了模块分解与功能抽象,自顶向下、分而治之的方法,从而有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。虽然结构化程序设计方法具有很多的优点,但它仍是一种面向过程的程序设计方法,它把数据和处理数据的过程分离为相互独立的实体。当数据结构改变时,所有相关的处理过程都要进行相应的修改,每一种相对于老问题的新方法都要带来额外的开销,程序的可重用性差。由于图形用户界面的应用,程序运行由顺序运行演变为事件驱动,使得软件使用起来越来越方便,但开发起来却越来越困难,对这种软件的功能很难用过程来描述和实现,使用面向过程的方法来开发和维护都将非常困难。1-4什么是对象?什么是面向对象方法?这种方法有哪些特点?
课后答案网www.khdaw.com解:从一般意义上讲,对象是现实世界中一个实际存在的事物,它可以是有形的,也可以是无形的。对象是构成世界的一个独立单位,它具有自己的静态特征和动态特征。面向对象方法中的对象,是系统中用来描述客观事物的一个实体,它是用来构成系统的一个基本单位,由一组属性和一组行为构成。面向对象的方法将数据及对数据的操作方法放在一起,作为一个相互依存、不可分离的整体--对象。对同类型对象抽象出其共性,形成类。类中的大多数数据,只能用本类的方法进行处理。类通过一个简单的外部接口,与外界发生关系,对象与对象之间通过消息进行通讯。这样,程序模块间的关系更为简单,程序模块的独立性、数据的安全性就有了良好的保障。通过实现继承与多态性,还可以大大提高程序的可重用性,使得软件的开发和维护都更为方便。面向对象方法所强调的基本原则,就是直接面对客观存在的事物来进行软件开发,将人们在日常生活中习惯的思维方式和表达方式应用在软件开发中,使软件开发从过分专业化的方法、规则和技巧中回到客观世界,回到人们通常的思维。1-5什么叫做封装?解:封装是面向对象方法的一个重要原则,就是把对象的属性和服务结合成一个独立的系统单位,并尽可能隐蔽对象的内部细节。1-6面向对象的软件工程包括哪些主要内容?解:面向对象的软件工程是面向对象方法在软件工程领域的全面应用,它包括面向对象的分析(OOA)、面向对象的设计(OOD)、面向对象的编程(OOP)、面向对象的测试(OOT)和面向对象的软件维护(OOSM)等主要内容。1-7简述计算机内部的信息可分为几类?解:计算机内部的信息可以分成控制信息和数据信息二大类;控制信息可分为指令和控制字两类;数据信息可分为数值信息和非数值信息两类。1-8什么叫二进制?使用二进制有何优点和缺点?
课后答案网www.khdaw.com解:二进制是基数为2,每位的权是以2为底的幂的进制,遵循逢二进一原则,基本符号为0和1。采用二进制码表示信息,有如下几个优点:1.易于物理实现;2.二进制数运算简单;3.机器可靠性高;4.通用性强。其缺点是它表示数的容量较小,表示同一个数,二进制较其他进制需要更多的位数。1-9请将以下十进制数值转换为二进制和十六进制补码:(1)2(2)9(3)93(4)-32(5)65535(6)-1解:(1)(2)10=(10)2=(2)16(2)(9)10=(1001)2=(9)16(3)(93)10=(1011101)2=(5D)16(4)(-32)10=(11100000)2=(E0)16(5)(65535)10=(1111111111111111)2=(FFFF)16(6)(-1)10=(1111111111111111)2=(FFFF)161-10请将以下数值转换为十进制:(1)(1010)2(2)(10001111)2(3)(0101111111000011)2(4)(7F)16(5)(2D3E)16(6)(F10E)16解:(1)(1010)2=(10)10(2)(10001111)2=(143)10(3)(0101111111000011)2=(24515)10(4)(7F)16=(127)10(5)(2D3E)16=(11582)10(6)(F10E)16=(61710)101-11简要比较原码、反码、补码等几种编码方法。解:原码:将符号位数字化为0或1,数的绝对值与符号一起编码,即所谓"符号──绝对值表示"的编码。正数的反码和补码与原码表示相同。负数的反码与原码有如下关系:符号位相同(仍用1表示),其余各位取反(0变1,1变0)。
课后答案网www.khdaw.com补码由该数反码的最末位加1求得。第二章C++简单程序设计2-1C++语言有那些主要特点和优点?解:C++语言的主要特点表现在两个方面,一是全面兼容C,二是支持面向对象的方法。C++是一个更好的C,它保持了C的简洁、高效、接近汇编语言、具有良好的可读性和可移植性等特点,对C的类型系统进行了改革和扩充,因此C++比C更安全,C++的编译系统能检查出更多的类型错误。C++语言最重要的特点是支持面向对象。2-2下列标识符哪些是合法的?Program,-page,_lock,test2,3in1,@mail,A_B_C_D解:Program,_lock,test2,A_B_C_D是合法的标识符,其它的不是。2-3例2.1中每条语句的作用是什么?#includevoidmain(void){cout<<"Hello!n";cout<<"Welcometoc++!n";}解:#include//指示编译器将文件iostream.h中的代码//嵌入到该程序中该指令所在的地方voidmain()//主函数名,void表示函数没有返回值{//函数体标志cout<<"Hello!n";//输出字符串Hello!到标准输出设备(显示器)上。cout<<"Welcometoc++!n";//输出字符串Welcometoc++!}在屏幕输出如下:
课后答案网www.khdaw.comHello!Welcometoc++!2-4使用关键字const而不是#define语句的好处有哪些?解:const定义的常量是有类型的,所以在使用它们时编译器可以查错;而且,这些变量在调试时仍然是可见的。2-5请写出C++语句声明一个常量PI,值为3.1416;再声明一个浮点型变量a,把PI的值赋给a。解:constfloatPI=3.1416;floata=PI;2-6在下面的枚举类型中,Blue的值是多少?enumCOLOR{WHITE,BLACK=100,RED,BLUE,GREEN=300};解:Blue=1022-7注释有什么作用?C++中有哪几种注释的方法?他们之间有什么区别?解:注释在程序中的作用是对程序进行注解和说明,以便于阅读。编译系统在对源程序进行编译时不理会注释部分,因此注释对于程序的功能实现不起任何作用。而且由于编译时忽略注释部分,所以注释内容不会增加最终产生的可执行程序的大小。适当地使用注释,能够提高程序的可读性。在C++中,有两种给出注释的方法:一种是延用C语言方法,使用"/*"和"*/"括起注释文字。另一种方法是使用"//",从"//"开始,直到它所在行的行尾,所有字符都被作为注释处理。2-8什么叫做表达式?x=5+7是一个表达式吗?它的值是多少?
课后答案网www.khdaw.com解:任何一个用于计算值的公式都可称为表达式。x=5+7是一个表达式,它的值为12。2-9下列表达式的值是多少?1.201/42.201%43.201/4.0解:1.502.13.50.252-10执行完下列语句后,a、b、c三个变量的值为多少?a=30;b=a++;c=++a;解:a:32;b:30;c:32;2-11在一个for循环中,可以初始化多个变量吗?如何实现?解:在for循环设置条件的第一个";"前,用,分隔不同的赋值表达式。例如:for(x=0,y=10;x<100;x++,y++)2-12执行完下列语句后,n的值为多少?intn;for(n=0;n<100;n++)解:n的值为100
课后答案网www.khdaw.com2-13写一条for语句,计数条件为n从100到200,步长为2;然后用while和do…while语句完成同样的循环。解:for循环:for(intn=100;n<=200;n+=2);while循环:intx=100;while(n<=200)n+=2;do…while循环:intn=100;do{n+=2;}while(n<=200);2-14if(x=3)和if(x==3)这两条语句的差别是什么?解:语句if(x=3)把3赋给x,赋值表达式的值为true,作为if语句的条件;语句if(x==3)首先判断x的值是否为3,若相等条件表达式的值为ture,否则为false。2-15什么叫做作用域?什么叫做局部变量?什么叫做全局变量,如何使用全局变量?解:作用域是一个标识符在程序正文中有效的区域。局部变量,一般来讲就是具有块作用域的变量;全局变量,就是具有文件作用域的变量。2-16已知x、y两个变量,写一条简单的if语句,把较小的的值赋给原本值较大的变量。解:if(x>y)x=y;else//y>x||y==x
课后答案网www.khdaw.comy=x;2-17修改下面这个程序中的错误,改正后它的运行结果是什么?#includevoidmain()intiintj;i=10;/*给i赋值j=20;/*给j赋值*/cout<<"i+j=<intmain(){inti;intj;i=10;//给i赋值j=20;/*给j赋值*/cout<<"i+j="<intmain(){inti;cout<<"请输入一个数字:";cin>>i;cout<<"您输入一个数字是"<intmain(){cout<<"Thesizeofanintis:tt"<intmain(){for(inti=32;i<128;i++)cout<<(char)i;return0;
课后答案网www.khdaw.com}程序运行输出:!"#$%G"()*+,./0123456789:;<>?@ABCDEFGHIJKLMNOP_QRSTUVWXYZ[]^"abcdefghijklmnopqrstuvwxyz<|>~s2-21运行下面的程序,观察其输出,与你的设想是否相同?#includeintmain(){unsignedintx;unsignedinty=100;unsignedintz=50;x=y-z;cout<<"Differenceis:"<intmain(){intmyAge=39;//initializetwointegersintyourAge=39;cout<<"Iam:"<5)||(6<2)解:1.true2.false3.true2-26若a=1,b=2,c=3,下列各式的结果是什么?1.a|b-c2.a^b&-c3.a&b|c4.a|b&c解:1.-12.13.34.32-27若a=1,下列各式的结果是什么?1.!a|a2.~a|a3.a^a4.a>>2解:1.12.-13.04.02-28编写一个完整的程序,实现功能:向用户提问"现在正在下雨吗?",提示用户输入Y或N。若输入为Y,显示"现在正在下雨。";若输入为N,显示"现在没有下雨。";否则继续提问"现在正在下雨吗?"
课后答案网www.khdaw.com解:源程序:#include#includevoidmain(){charflag;while(1){cout<<"现在正在下雨吗?(YesorNo):";cin>>flag;if(toupper(flag)=="Y"){cout<<"现在正在下雨。";break;}if(toupper(flag)=="N"){cout<<"现在没有下雨。";break;}}}程序运行输出:现在正在下雨吗?(YesorNo):x现在正在下雨吗?(YesorNo):l现在正在下雨吗?(YesorNo):q现在正在下雨吗?(YesorNo):n现在没有下雨。或:现在正在下雨吗?(YesorNo):y现在正在下雨。2-29编写一个完整的程序,运行时向用户提问"你考试考了多少分?(0~100)",接收输入后判断其等级,显示出来。规则如下:解:#include
课后答案网www.khdaw.comvoidmain(){inti,score;cout<<"你考试考了多少分?(0~100):";cin>>score;if(score>100||score<0)cout<<"分数值必须在0到100之间!";else{i=score/10;switch(i){case10:case9:cout<<"你的成绩为优!";break;case8:cout<<"你的成绩为良!";break;case7:case6:cout<<"你的成绩为中!";break;default:cout<<"你的成绩为差!";}}}程序运行输出:你考试考了多少分?(0~100):85你的成绩为良!2-30(1)实现一个简单的菜单程序,运行时显示"Menu:A(dd)D(elete)S(ort)Q(uit),Selectone:"提示用户输入,A表示增加,D表示删除,S表示排序,Q表示退出,输入为A、D、S时分别提示"数据已经增加、删除、排序。"输入为Q时程序结束。要求使用if…else语句进行判断,用break、continue控制程序流程。解:#include#include
课后答案网www.khdaw.comvoidmain(){charchoice,c;while(1){cout<<"Menu:A(dd)D(elete)S(ort)Q(uit),Selectone:";cin>>c;choice=toupper(c);if(choice=="A"){cout<<"数据已经增加."<#include
课后答案网www.khdaw.comvoidmain(){charchoice;while(1){cout<<"Menu:A(dd)D(elete)S(ort)Q(uit),Selectone:";cin>>choice;switch(toupper(choice)){case"A":cout<<"数据已经增加."<#includevoidmain(){inti,j,k,flag;i=2;while(i<=100){flag=1;k=sqrt(i);j=2;while(j<=k){if(i%j==0){flag=0;break;}j++;}if(flag)cout<#includevoidmain(){inti,j,k,flag;i=2;do{flag=1;k=sqrt(i);j=2;do{if(i%j==0){flag=0;break;
课后答案网www.khdaw.com}j++;}while(j<=k);if(flag)cout<#includevoidmain(){inti,j,k,flag;for(i=2;i<=100;i++){flag=1;k=sqrt(i);for(j=2;j<=k;j++){if(i%j==0){flag=0;break;}}if(flag)cout<voidmain(){intn=18;intm=0;
课后答案网www.khdaw.comwhile(m!=n){cout<<"请猜这个数的值为多少?(0~~100):";cin>>m;if(n>m)cout<<"你猜的值太小了!"<voidmain(){intn=18;intm=0;do{cout<<"请猜这个数的值为多少?(0~~100):";cin>>m;if(n>m)cout<<"你猜的值太小了!"<enumweekday{Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday};voidmain(){inti;weekdayd=Thursday;cout<<"d="<intmain(){intintOne;int&rSomeRef=intOne;intOne=5;cout<<"intOne:tt"<
课后答案网www.khdaw.comshortintDivider(unsignedshortinta,unsignedshortintb){if(b==0)return-1;elsereturna/b;}typedefunsignedshortintUSHORT;typedefunsignedlongintULONG;intmain(){USHORTone,two;shortintanswer;cout<<"Entertwonumbers.nNumberone:";cin>>one;cout<<"Numbertwo:";cin>>two;answer=Divider(one,two);if(answer>-1)cout<<"Answer:"<#includeintprime(inti);//判一个数是否是质数的函数voidmain(){inti;cout<<"请输入一个整数:";cin>>i;if(prime(i))cout<
课后答案网www.khdaw.com#includeintfn1(inti,intj);//求最大公约数的函数voidmain(){inti,j,x,y;cout<<"请输入一个正整数:";cin>>i;cout<<"请输入另一个正整数:";cin>>j;x=fn1(i,j);y=i*j/x;cout<#includeintfn1(inti);voidmain(){inti;cout<<"请输入一个正整数:";cin>>i;cout<<"从1累加到"<longGetPower(intx,inty);
课后答案网www.khdaw.comintmain(){intnumber,power;longanswer;cout<<"Enteranumber:";cin>>number;cout<<"Towhatpower?";cin>>power;answer=GetPower(number,power);cout<2;fib(1)=fib(2)=1;观察递归调用的过程。解:源程序见"实验指导"部分实验三3-15用递归的方法编写函数求n阶勒让德多项式的值,在主程序中实现输入、输出;解:#includefloatp(intn,intx);voidmain(){intn,x;
课后答案网www.khdaw.comcout<<"请输入正整数n:";cin>>n;cout<<"请输入正整数x:";cin>>x;cout<<"n="<templatevoidswap(T&x,T&y){Tz;z=x;
课后答案网www.khdaw.comx=y;y=z;}voidmain(){intj=1,k=2;doublev=3.0,w=4.0;cout<<"j="<classDog{public:Dog(intinitialAge=0,intinitialWeight=5);~Dog();intGetAge(){returnitsAge;}//inline!voidSetAge(intage){itsAge=age;}//inline!intGetWeight(){returnitsWeight;}//inline!voidSetWeight(intweight){itsAge=weight;}//inline!private:intitsAge,itsWeight;};Dog::Dog(intinitialAge,intinitialWeight){itsAge=initialAge;itsWeight=initialWeight;}Dog::~Dog()//destructor,takesnoaction{}intmain(){DogJack(2,10);cout<<"JackisaDogwhois";cout<classRectangle{public:Rectangle(inttop,intleft,intbottom,intright);~Rectangle(){}intGetTop()const{returnitsTop;}intGetLeft()const{returnitsLeft;}intGetBottom()const{returnitsBottom;}intGetRight()const{returnitsRight;}voidSetTop(inttop){itsTop=top;}voidSetLeft(intleft){itsLeft=left;}voidSetBottom(intbottom){itsBottom=bottom;}voidSetRight(intright){itsRight=right;}intGetArea()const;private:intitsTop;intitsLeft;intitsBottom;intitsRight;};Rectangle::Rectangle(inttop,intleft,intbottom,intright){itsTop=top;
课后答案网www.khdaw.comitsLeft=left;itsBottom=bottom;itsRight=right;}intRectangle::GetArea()const{intWidth=itsRight-itsLeft;intHeight=itsTop-itsBottom;return(Width*Height);}intmain(){RectangleMyRectangle(100,20,50,80);intArea=MyRectangle.GetArea();cout<<"Area:"<classRectangle
课后答案网www.khdaw.com{public:Rectangle(floatlen,floatwidth){Length=len;Width=width;}~Rectangle(){};floatGetArea(){returnLength*Width;}floatGetLength(){returnLength;}floatGetWidth(){returnWidth;}private:floatLength;floatWidth;};voidmain(){floatlength,width;cout<<"请输入矩形的长度:";cin>>length;cout<<"请输入矩形的宽度:";cin>>width;Rectangler(length,width);cout<<"长为"<classdatatype{enum{character,
课后答案网www.khdaw.cominteger,floating_point}vartype;union{charc;inti;floatf;};public:datatype(charch){vartype=character;c=ch;}datatype(intii){vartype=integer;i=ii;}datatype(floatff){vartype=floating_point;f=ff;}voidprint();};voiddatatype::print(){switch(vartype){casecharacter:cout<<"字符型:"<classCircle{public:Circle(floatradius){Radius=radius;}~Circle(){}floatGetArea(){return3.14*Radius*Radius;}private:floatRadius;};voidmain(){floatradius;cout<<"请输入圆的半径:";cin>>radius;Circlep(radius);cout<<"半径为"<classTree{intages;public:Tree(intn=0);~Tree();voidgrow(intyears);voidage();};Tree::Tree(intn){ages=n;}Tree::~Tree(){age();}voidTree::grow(intyears){ages+=years;}voidTree::age(){cout<<"这棵树的年龄为"<voidmyFunction();intx=5,y=7;intmain(){cout<<"xfrommain:"<classCat{public:Cat(intage):itsAge(age){HowManyCats++;}virtual~Cat(){HowManyCats--;}virtualintGetAge(){returnitsAge;}virtualvoidSetAge(intage){itsAge=age;}staticintGetHowMany(){returnHowManyCats;}private:intitsAge;
课后答案网www.khdaw.comstaticintHowManyCats;};intCat::HowManyCats=0;voidTelepathicFunction();intmain(){constintMaxCats=5;Cat*CatHouse[MaxCats];inti;for(i=0;i#include"fn1.h"intn;voidmain(){n=20;fn1();cout<<"n的值为"<voidfn1(){staticintn=0;n++;cout<<"n的值为"<i=+10;}voidY::g(X*x){x->i++;}classZ{public:voidf(X*x){x->i+=5;}};
课后答案网www.khdaw.com#endif//MY_X_Y_Z_H程序运行输出:无5-14定义Boat与Car两个类,二者都有weight属性,定义二者的一个友元函数totalWeight(),计算二者的重量和。解:源程序:#includeclassBoat;classCar{private:intweight;public:Car(intj){weight=j;}friendinttotalWeight(Car&aCar,Boat&aBoat);};classBoat{private:intweight;public:Boat(intj){weight=j;}friendinttotalWeight(Car&aCar,Boat&aBoat);};inttotalWeight(Car&aCar,Boat&aBoat){returnaCar.weight+aBoat.weight;}voidmain(){Carc1(4);Boatb1(5);cout<intmain(){intmyArray[5];inti;for(i=0;i<5;i++){cout<<"ValueformyArray["<>myArray[i];}for(i=0;i<5;i++)cout<intmain(){int*p;*pInt=9;cout<<"Thevalueatp:"<<*p;return0;}解:指针p没有初始化,也就是没有指向某个确定的内存单元,它指向内存中的一个随机地址,给这个随机地址赋值是非常危险的。6-18下列程序有何问题,请改正;仔细体会使用指针时应避免出现的这个问题。#includeintFn1();intmain(){inta=Fn1();cout<<"thevalueofais:"<int*Fn1();intmain(){int*a=Fn1();cout<<"thevalueofais:"<<*a;deletea;return0;}
课后答案网www.khdaw.comint*Fn1(){int*p=newint(5);returnp;}6-19声明一个参数为整型,返回值为长整型的函数指针;声明类A的一个成员函数指针,其参数为整型,返回值长整型。解:long(*p_fn1)(int);long(A::*p_fn2)(int);6-20实现一个名为SimpleCircle的简单圆类,其数据成员int*itsRadius为一个指向其半径值的指针,设计对数据成员的各种操作,给出这个类的完整实现并测试这个类。解:源程序:#includeclassSimpleCircle{public:SimpleCircle();SimpleCircle(int);SimpleCircle(constSimpleCircle&);~SimpleCircle(){}voidSetRadius(int);intGetRadius()const;private:int*itsRadius;};SimpleCircle::SimpleCircle(){itsRadius=newint(5);}
课后答案网www.khdaw.comSimpleCircle::SimpleCircle(intradius){itsRadius=newint(radius);}SimpleCircle::SimpleCircle(constSimpleCircle&rhs){intval=rhs.GetRadius();itsRadius=newint(val);}intSimpleCircle::GetRadius()const{return*itsRadius;}intmain(){SimpleCircleCircleOne,CircleTwo(9);cout<<"CircleOne:"<#includeintcount(char*str){inti,num=0;for(i=0;str[i];i++){if((str[i]>="a"&&str[i]<="z")||(str[i]>="A"&&str[i]<="Z"))num++;}returnnum;}
课后答案网www.khdaw.comvoidmain(){chartext[100];cout<<"输入一个英语句子:"<intindex(char*s,char*t){inti,j,k;for(i=0;s[i]!=" ";i++){for(j=i,k=0;t[k]!=" "&&s[j]==t[k];j++,k++);if(t[k]==" ")returni;}return-1;}voidmain(){intn;charstr1[20],str2[20];cout<<"输入一个英语单词:";cin>>str1;cout<<"输入另一个英语单词:";cin>>str2;
课后答案网www.khdaw.comn=index(str1,str2);if(n>0)cout<#includevoidreverse(char*s,char*t){charc;if(s>str1;cout<<"原字符串为:"<#include#defineN8floatgrades[N];//存放成绩的数组voidmain(){inti;floattotal,average;//提示输入成绩for(i=0;i>grades[i];}total=0;for(i=0;i#includeclassMyString{public:MyString();MyString(constchar*const);MyString(constMyString&);~MyString();char&operator[](unsignedshortoffset);charoperator[](unsignedshortoffset)const;MyStringoperator+(constMyString&);voidoperator+=(constMyString&);MyString&operator=(constMyString&);unsignedshortGetLen()const{returnitsLen;}constchar*GetMyString()const{returnitsMyString;}private:MyString(unsignedshort);//privateconstructorchar*itsMyString;unsignedshortitsLen;};MyString::MyString(){itsMyString=newchar[1];itsMyString[0]=" ";itsLen=0;}
课后答案网www.khdaw.comMyString::MyString(unsignedshortlen){itsMyString=newchar[len+1];for(unsignedshorti=0;i<=len;i++)itsMyString[i]=" ";itsLen=len;}MyString::MyString(constchar*constcMyString){itsLen=strlen(cMyString);itsMyString=newchar[itsLen+1];for(unsignedshorti=0;i