C++程序出现错误'double (void)' differs in levels of indirection from 'double' 那位大神帮忙看看
答案:2 悬赏:30 手机版
解决时间 2021-03-10 16:18
- 提问者网友:世勋超人
- 2021-03-09 23:29
#include
class point
{
public:
friend class line;
int x;
int y;
point(int xx,int yy)
{x=xx;
y=yy;
}
double Area()
{int area;
area=x*y;
return area;
}
void print()
{cout<<"x="<cout<<"y="<cout<<"area="<}
};
class round:public point
{private:
double radius;
public:
round(int xx,int yy,int R):point(xx,yy)
{x=xx;
y=yy;
radius=R;
}
double Area()
{ double area;
area=3.14*radius* radius;
return area;
}
void print()
{cout<<"x="<cout<<"y="<cout<<"radius="<cout<<"area="<};
class line
{point p1;
point p2;
public:
void print();
double Area();
double length;
line (int x1,int y1,int x2,int y2):p1(x1,y1),p2(x2,y2){}
double line::length()
{
return sqrt((p2.x-p1.x)*(p2.x-p1.x)+(p2.y-p1.y)*(p2.y-p1.y));
}
double line::lArea()
{return 0
}
void line::lprint()
{cout<<"x1:"<cout<<"x2:"<cout<<"length:"<cout<<"area:"<}
};
void main()
{point p(2,3);
round r(2,3,4);
line l(1,2,5,6);
p.Area();
p.print();
r.Area();
r.print();
l.lArea();
l.length();
l.lprint();
}
最佳答案
- 五星知识达人网友:迟山
- 2021-03-10 00:26
1. line里面有一个double类型的成员变量叫length,还有一个成员函数叫length,重名了,把length变量删了就行了,我看你也没用到。
2. line的 lArea方法里面的return没加分号。
3. 要使用sqrt,要加上#include
4. round这个名字和math里面的一个函数冲突,改个名字就行了
5. line的Area函数没有实现(没写函数体),加个return 0;就好了,line的面积应该恒等于0。
x=2
y=3
area=6
x=2
y=3
radius=4
area=50.24
x1:1 y1:2
x2:5 y2:6
length:5.65685
area:0
改完函数执行结果如上。
全部回答
- 1楼网友:傲气稳了全场
- 2021-03-10 00:59
少括号
正确如下:
#include
#include
char xx[50][80];
int maxline=0;
int readdat(void)
{
file *fp;
char *p;
int i;
if((fp=fopen("in.dat","r"))==null)
printf("无法打开文件in.dat\n");
while(fgets(xx[i],80,fp)==null)
{
p=strchr(xx[i],'\n');
if(p)*p=0;
i++;
}
maxline=i;
fclose(fp);
return 0;
}
void encryptchar(void)
{
int i,j;
unsigned char val;
for(i=0;i
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯