
C++编程问题,高手进!
#include<iostream>usingnamespacestd;constdoublePI=3.1415;classspape{public:virt...
#include<iostream>using namespace std;const double PI=3.1415;class spape{public:virtual double area() const=0; //声明虚构面积函数virtual double size() const=0; //声明虚构体积函数};class TwoShape:public space{public:class Circle:public TwoShape //圆类{public: Circle(double b):base(b) {} double area() const { return PI*b*b; }};class Rectangle:public TwoShape //矩形类{ public:Rectangle(double b,double h):base(b),hight(h){}double area() const{ return b*h;}};private:double base;double hight;};class ThreeShape:public space{public: class Ball:public ThreeShape { public: Ball(double t):treatment(t) {} double size() const { return (3/4)*PI*t*t*t; }};class RecVolume:public ThreeShape //长方体类 { RecVolume(double b,double h,double t):base(b),hight(h),treatment(t) {} double size() const { return b*h*t };private: double base; double hight; double treatment; //半经或者是边长};void main(){space *ptr[4];ptr[0]=new Circle(6.8)ptr[1]=new Rectangle(7.9,9.5);ptr[2]=new Ball(7.98);ptr[3]=new RecVolume(2.3,6,4,7.9);cout<<"The area of Circle(6.8) is :";cout<<ptr[0]->area()<<endl;cout<<"The area of Ball(7.98) is :";cout<<ptr[1]->area()<<endl;cout<<"The area of Rectangle(7.9,9.5) is :";cout<<ptr[2]->size()<<endl;cout<<"The area of RecVolume(2.3,6,4,7.9) is :";cout<<ptr[3]->size()<<endl;for(int i=0;i<4;i++) delete ptr[i];}出错的地方--------------------Configuration: shixu - Win32 Debug--------------------Compiling...shixu.cppF:\C++\shixu.cpp(15) : error C2504: 'space' : base class undefinedF:\C++\shixu.cpp(19) : error C2504: 'TwoShape' : base class undefinedF:\C++\shixu.cpp(32) : error C2504: 'TwoShape' : base class undefinedF:\C++\shixu.cpp(53) : error C2504: 'space' : base class undefinedF:\C++\shixu.cpp(56) : error C2504: 'ThreeShape' : base class undefinedF:\C++\shixu.cpp(67) : error C2504: 'ThreeShape' : base class undefinedF:\C++\shixu.cpp(103) : fatal error C1004: unexpected end of file found执行 cl.exe 时出错.
展开
4个回答
展开全部
0、最好检查下拼写。
1、类中写类倒是也可以不过c++中很少有人这样写啊,牛人。
2、 error C2504: 'space' : base class undefined------这句表明space类没有定义,说明你什么地方用了space作为类,所以 “class TwoShape: public space”出错了。
3、下次贴代码,不要这样贴,把源码贴上来就可以了,或者为了省空间,你不要把注释和代码减缩到一行,这样让分析的人,还得仔细排版。
1、类中写类倒是也可以不过c++中很少有人这样写啊,牛人。
2、 error C2504: 'space' : base class undefined------这句表明space类没有定义,说明你什么地方用了space作为类,所以 “class TwoShape: public space”出错了。
3、下次贴代码,不要这样贴,把源码贴上来就可以了,或者为了省空间,你不要把注释和代码减缩到一行,这样让分析的人,还得仔细排版。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
class spape{public:virtual double
看这句,应该是space,你写成spape了。你把c误写成p了。
看这句,应该是space,你写成spape了。你把c误写成p了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Compiling...shixu.cppF:\C++\shixu.cpp(15) : error C2504: 'space' : base class
第15行...
第15行...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一个错误书写错误spape
下面几个错误 不能在类里面定义类
你最好还是重新发一下 这个排版太难看了
下面几个错误 不能在类里面定义类
你最好还是重新发一下 这个排版太难看了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询