loading请求处理中...
10大优享服务
62项会员特权

有谁会修改下面的这个程序?

问题补充:#include
using namespace std;

class Fruits{
public:
Fruits(char *t, float p);
// ERROR **********found**********
void ~Fruits();
bool JudgeType(char *t); 
private:
char type[10];
float price;
};


Fruits::Fruits(char *t, float p){
// ERROR **********found**********
type = t;
price = p;
}


Fruits::~Fruits()
{
}


bool Fruits::JudgeType(char *t){
// ERROR **********found**********
if( type == t )
return true;
else
return false;
}


int main(){
Fruits fruit1("apple",3.00);
Fruits fruit2("pear",2.50);
cout < "Is fruit1 an apple? t" < fruit1.JudgeType("apple") < endl;
cout < "Is fruit1 a pear? t" < fruit1.JudgeType("pear") < endl;
cout < "Is fruit2 an apple? t" < fruit2.JudgeType("apple") cout < "Is fruit2 a pear? t" return 0;
}
更改// ERROR **********found**********
后的语句,使输出结果为
Is fruit1 an apple?    1
Is fruit1 a pear?        0
Is fruit2 an apple?     0
Is fruit2 a pear?        1
提问者:有时间没钱 1回答 浏览次数:2425 提问时间: 2021/12/01 11:49
提问者采纳

修改的地方已标注

#include
using namespace std;

class Fruits{
public:
Fruits(char *t, float p);
// ERROR **********found**********
~Fruits();  //析构函数没有返回类型,把void去掉
bool JudgeType(char *t); 
private:
char type[10];
float price;
};

Fruits::Fruits(char *t, float p){
// ERROR **********found**********
strcpy(type, t);  //char* 不能等于 char[10],要赋值必须用strcpy
price = p;
}

Fruits::~Fruits()
{
}

bool Fruits::JudgeType(char *t){
// ERROR **********found**********
if( !strcmp(t,type) )  //判断是否相等应该用strcmp
return true;
else
return false;
}

int main(){
Fruits fruit1("apple",3.00);
Fruits fruit2("pear",2.50);
cout < "Is fruit1 an apple? t" < fruit1.JudgeType("apple") < endl;
cout < "Is fruit1 a pear? t" < fruit1.JudgeType("pear") < endl;
cout < "Is fruit2 an apple? t" < fruit2.JudgeType("apple") cout < "Is fruit2 a pear? t" return 0;
}

全部回答

问题分类

我 要 回 答 我 要 提 问
问题分类   验证码 换一组

向专家快速提问

人才 更多>