清使用VC6或使用【答題】菜單打開考生文件夾projl下的工程projl,此工程中包含了類Pets(“寵物”) 和
清使用VC6或使用【答題】菜單打開考生文件夾projl下的工程projl,此工程中包含了類Pets(“寵物”) 和主函數(shù)main的定義。程序中位于每個“//ERROR****found ****”之后的一行語句有錯誤,請加以改 正。改正后程序的輸出結(jié)果應(yīng)為: Name:sonny Type:dog Name:John Type:dog Name:Danny Typc:cat Name:John Type:dog 注意:只修改每個“//ERROR ****found ****”下的那一行,不要改動程序中的其他內(nèi)容。 include<iostream> using namespace sm; enum Pets_type{d09,cat,bird,fish}; class Pets{ private: char *name; Pets_type type; public: Pets(const char *name=”sonny”,Pets_type type=dog); Pets&operator=(const Pets&s); ~Pets; void showeonst;}; Pets::Pets(eonst char$naIne,Pets_type type) //構(gòu)造函數(shù) { This ->name=new char[strlen(name)+1]; strcpy(this一>name,name); //ERROR *********found********* type=type; }{ Pets::~Pets//析構(gòu)函數(shù),釋放name所指向的字符串 { //ERROR *********found********* name=’/0‘; } Pets&Pets::0perator=(const Pets&s){ if(&s==this)//確保不要向自身賦值 return *this; delete[]name; name=new char[strlen(S.name)+1];//ERROR *********found********* strcpy(this一>nmne,name); type=S.type: return *this;} void Pets::showconst cout<<“Name:”<<name<<”Type:”: Pets mypetl,mypet2(’’John”,dog);
正確答案:(1)this一>type=type;(2)delete[]name;(3)strepy(this->name,s.name);
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。