请大神指点一下我这个程序的问题

graceful1203 2016-11-02 09:43:48
这段程序无法运行,请帮我看看问题在哪里!
#include <iostream>
using namespace std;
class Plant
{
char *pName;
int price;
static int number;
public:
Plant(char *,int);
~Plant();
int getPrice(){return price;}
char * getName(){return pName;}
int getNumber(){return number;}
};
Plant::Plant(char *name,int Price)
{
name=new char[strlen(pName)+1];
strcpy(pName,name);
price=Price;
number++;
}
Plant::~Plant()
{
delete []pName;
number--;
}
class Flower:public Plant
{
char *growthpattern;
char *department;
public:
Flower(char *name,int Price,char *growthPattern,char *Department):Plant(name,Price)
{
growthPattern=new char[strlen(growthpattern)+1];
strcpy(growthpattern,growthPattern);
Department=new char[strlen(department)+1];
strcpy(department,Department);
}
char * getgrowthpattern(){return growthpattern;}
char * getdepartment(){return department;}
~Flower();
};
int Plant::number=0;
Flower::~Flower()
{
delete []growthpattern;
delete []department;
}
int main()
{
char NAme[100],gp[100],dp[100];
int PRice;
cout<<"请输入植物的名称:";
cin>>NAme;
cout<<"请输入植物的价格:";
cin>>PRice;
cout<<"请输入植物的生长习性:";
cin>>gp;
cout<<"请输入植物的科目:";
cin>>dp;
Flower f1(NAme,PRice,gp,dp);
cout<<"植物名称\t植物价格\t植物生长习性\t植物科目"<<endl;
cout<<f1.getName()<<"\t"<<f1.getPrice()<<"\t"<<f1.getgrowthpattern()<<"\t"<<f1.getdepartment()<<endl;
cout<<"共有"<<f1.getNumber()<<"种植物。"<<endl;
return 0;
system("pause");
}
...全文
351 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
YXTS122 2016-11-04
  • 打赏
  • 举报
回复
Plant::Plant(char *name,int Price) { pName=new char[strlen(name)+1]; strcpy(pName,name); price=Price; number++; } Flower(char *name,int Price,char *GrowthPattern,char *Department):Plant(name,Price) { growthpattern=new char[strlen(GrowthPattern)+1]; strcpy(growthpattern,GrowthPattern); department=new char[strlen(Department)+1]; strcpy(department,Department); } 改成这样试试,,,,

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧