首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

c++程序缺少类型说明符,该怎么解决

2012-02-12 
c++程序缺少类型说明符本程序很简单,可是老是有一些语法错误,请高手指点一下啊[解决办法]C/C++ code#inclu

c++程序缺少类型说明符
本程序很简单,可是老是有一些语法错误,请高手指点一下啊

[解决办法]

C/C++ code
#include<iostream>#include<istream>#include<ostream>using namespace std;// 声明抽象基类 shapeclass shape{public:    virtual float area() const {return 0.0;}//虚函数    virtual void shapename() const =0;  //纯虚函数};//声明circle类class circle:public shape   //circle是shape的公用派生类{public:    circle():x(0),y(0),radius(0){}////////////////////    circle (float x,float y,float r);    circle(float r):radius(r),x(0),y(0){}  /////////////    void setradius(float);    float setcircle(float,float);    float getradius() const;    virtual float area() const;    virtual void shapename() const {cout<<"circle:";}    friend ostream &operator<<(ostream &,const circle &);    friend istream &operator>>(istream &,const circle &);protected:    float radius;    float x,y;   //圆心    };//定义circle类成员函数circle::circle(float a,float b,float r):x(a),y(b),radius(r){};//void circle::setradius(float r):radius(r){};float circle::area() const{    return 3.14159*radius*radius;}ostream & operator<<(ostream &output,const circle &c){     output<<"["<<c.x<<","<<c.y<<"],r="<<c.radius<<",area="<<c.area()<<endl;    return output;}istream &operator>>(istream &input,const circle &c){    cout<<"请输入圆的圆心和半径:";    input>>c.x>>c.y>>c.radius;    return input;}//float circle::setcircle(float a,float b) const{cin>>a>>b>>radius;//return 0}class dimetric:public circle //正方形是circle类的公用派生类{public:    explicit dimetric(float r=0);////////////////////////////不能够隐式调用,不然后面会有二意性    float setdimetric() const    {        cin>>radius;                    }    float area() const;    //计算正方形的面积     friend ostream& operator<<(ostream &, const dimetric &); //重载运算符"<<"//类名都写错了    friend istream& operator>>(istream &, const dimetric &); //重载运算符">>"};//////////////////少了个分号//定义dimetric类成员函数dimetric::dimetric(float r):circle(r){}//////////////不可以这样赋值//重载运算符">>","<<"float dimetric::area() const{    return radius*radius;}ostream &operator<<(ostream &output,const dimetric &cz){        output<<"radius="<<cz.radius<<","<<"area="<<cz.area()<<endl;        return output;}istream &operator>>(istream &input,const dimetric &cz){      cout<<"请输入正方形的边长:";    input>>"r=">>cz.radius;    return input;}//定义主函数int main(){    cout<<"---------------------计算圆和正方形的面积----------------";    circle c1;    cin>>c1;    cout<<c1;    dimetric c2;    cin>>c2;    cout<<c2;    return 0;} 

热点排行