我想在圆的时候跳过第二个数值的输入
无法跳过这个输入,并且我设置了length的初始值为零 但我还是必须手动输入0
#include<iostream>
using namespace std;
class shaped
{
double width,length;
public:
shaped(){width = 0;length = 0;}
double getWidth(){return width;}
double getLength(){return length;}
void get_data()
{
cin>>width;
cin>>length;
if(!cin.good())
{
cin.clear();
length=0;
}
}
virtual void display_area()
{
}
};
class triangle:public shaped
{
public :
void display_area()
{
cout<<"Area of triangle = "<<getWidth()*getLength()<<endl;
}
};
class rectangle:public shaped
{
public:
void display_area()
{
cout<<"Area of rectangle = "<<getWidth()*getLength()/2<<endl;
}
};
class circle:public shaped
{
public:
void display_area()
{
cout<<"Area of circle = "<<3.1416*getWidth()*getWidth()<<endl;
}
};
int main()
{
triangle t;
rectangle r;
circle c;
cout<<"Enter the value of x & y for triangle :";
t.get_data();
cout<<"Enter the value of x & y for rectangle :";
r.get_data();
cout<<"Enter the value of radius for circle :";
c.get_data();
t.display_area();
r.display_area();
c.display_area();
return 0;
}