c++题目,哪里有问题?怎么改?
下面的程序可以运行,结果为:书名:中国足球内幕作者:李承鹏价格:29元书名:傻儿皇帝:阿斗回忆录作者:王新禧价格:25元运行结果看来也正确。但这个程序有问题,请仔细分析找...
下面的程序可以运行,结果为:
书名:中国足球内幕
作者:李承鹏
价格:29 元
书名:傻儿皇帝:阿斗回忆录
作者:王新禧
价格:25 元
运行结果看来也正确。但这个程序有问题,请仔细分析找出问题并修改完善。
#include<iostream>
usingnamespace std;
#include<string>
class Book {
public:
void setBook(constchar*str1,constchar*str2,constfloat num){
int len=strlen(str1);
title=newchar[len+1];
strcpy(title,str1);
len=strlen(str2);
author=newchar[len+1];
strcpy(author,str2);
price=num;
}
Book() {}
Book(constchar*str1,constchar*str2,constfloat num)
{setBook(str1,str2,num);}
~Book(){delete title; delete author;}
void print(){
cout<<"书名:"<<title<<endl;
cout<<"作者:"<<author<<endl;
cout<<"价格:"<<price<<" 元"<<endl;
}
private:
char*title;
char*author;
float price;
};
int main(){
Book obj1("中国足球内幕","李承鹏",29.0),obj2(obj1);
obj1.print();
obj2.setBook("傻儿皇帝:阿斗回忆录","王新禧",25.0);
obj2.print();
return 0;} 展开
书名:中国足球内幕
作者:李承鹏
价格:29 元
书名:傻儿皇帝:阿斗回忆录
作者:王新禧
价格:25 元
运行结果看来也正确。但这个程序有问题,请仔细分析找出问题并修改完善。
#include<iostream>
usingnamespace std;
#include<string>
class Book {
public:
void setBook(constchar*str1,constchar*str2,constfloat num){
int len=strlen(str1);
title=newchar[len+1];
strcpy(title,str1);
len=strlen(str2);
author=newchar[len+1];
strcpy(author,str2);
price=num;
}
Book() {}
Book(constchar*str1,constchar*str2,constfloat num)
{setBook(str1,str2,num);}
~Book(){delete title; delete author;}
void print(){
cout<<"书名:"<<title<<endl;
cout<<"作者:"<<author<<endl;
cout<<"价格:"<<price<<" 元"<<endl;
}
private:
char*title;
char*author;
float price;
};
int main(){
Book obj1("中国足球内幕","李承鹏",29.0),obj2(obj1);
obj1.print();
obj2.setBook("傻儿皇帝:阿斗回忆录","王新禧",25.0);
obj2.print();
return 0;} 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询