C++ circle类和table类派生出roundtable类

来源:百度知道 编辑:UC知道 时间:2024/06/15 15:23:23
#include <iostream.h>
#define PAI 3.14
class table
{
public:
double GaoDu;
char *YanSe;
public:
virtual void display()=0;
};
class circle
{
public:
double BanJing;
public:
virtual void display()=0;
};
class roundtable : public table,public circle
{
public:
void iniroundtable(double G,double B,char *Y)
{
GaoDu=G;
BanJing=B;
YanSe=Y;
}
void display()
{
cout<<"Yuan Zhuo de GaoDu : "<<GaoDu<<endl;
cout<<"Yuan Zhuo de YanSe : "<<YanSe<<endl;
cout<<"Yuan Zhuo de MianJi : "<<PAI*BanJing*BanJing<<endl;
}
public:
double GaoDu,BanJing;
char *YanSe;
};
int main()
{
double G,B;
char *Y;
cout<<"Shu Ru Zhuo De GaoDu He YanSe :";
cin>>G>>Y;
cout<

问题出在cin>>G>>Y;
Y是一个字符串指针,它没有被初始化就被你使用了。
最简单的办法就是把主函数的char *y改成char y[20].

char *Y;不能直接cin >> Y

要使用char Y[100];
或者 char *Y = new char[100];