编译通过,链接报错!求解答!
代码如下所示:
#include<iostream>
using namespace std;
class Shape
{
public:
float area();//面积
float per();//周长
void show();
};
class Circle:virtual public Shape
{
float x,y,r;
public:
Circle(float xx,float yy,float rr)
{
x=xx;y=yy;r=rr;
}
float area()
{
return 3.14159*r*r;
}
float per()
{
return 2*3.14159*r;
}
void show()
{
cout<<"cir.area="<<area()<<",cir.per="<<per()<<endl;
}
};
class rectangle:virtual public Shape
{
float x,y,length,width;
public:
rectangle(float xx,float yy,float l,float w)
{
x=xx;y=yy;
length=l;
width=w;
}
float area()
{
return length*width;
}
float per()
{
return 2*(length+width);
}
void show()
{
cout<<"rec.area="<<area()<<",rec.per="<<per()<<endl;
}
};
void main()
{
Circle cir(2,3,5);
rectangle rec(2,3,4,5);
cout<<"cir.area="<<cir.area()<<endl<<"rec.area="<<rec.area()<<endl;
Shape *a[10];
a[0]=new Circle(2,3,5);
a[1]=new rectangle(2,3,4,5);
for(int i=0;i<2;i++)
{
a[i]->show();
}
}
#include<iostream>
using namespace std;
class Shape
{
public:
float area();//面积
float per();//周长
void show();
};
class Circle:virtual public Shape
{
float x,y,r;
public:
Circle(float xx,float yy,float rr)
{
x=xx;y=yy;r=rr;
}
float area()
{
return 3.14159*r*r;
}
float per()
{
return 2*3.14159*r;
}
void show()
{
cout<<"cir.area="<<area()<<",cir.per="<<per()<<endl;
}
};
class rectangle:virtual public Shape
{
float x,y,length,width;
public:
rectangle(float xx,float yy,float l,float w)
{
x=xx;y=yy;
length=l;
width=w;
}
float area()
{
return length*width;
}
float per()
{
return 2*(length+width);
}
void show()
{
cout<<"rec.area="<<area()<<",rec.per="<<per()<<endl;
}
};
void main()
{
Circle cir(2,3,5);
rectangle rec(2,3,4,5);
cout<<"cir.area="<<cir.area()<<endl<<"rec.area="<<rec.area()<<endl;
Shape *a[10];
a[0]=new Circle(2,3,5);
a[1]=new rectangle(2,3,4,5);
for(int i=0;i<2;i++)
{
a[i]->show();
}
}
...全文
相关推荐
编译opencv需要的dll.rar
如果仍然报错,可以尝试使用这个压缩包中的DLL文件,将它们放到系统路径或编译目录下,看是否能解决问题。如果还有疑问,可以留言寻求帮助,社区通常会提供解答和支持。
C++程序设计基础(第4版)(上)习题解答.pdf
编译过程:C++源代码需要经过编译器转换成目标代码,然后通过链接器生成可执行程序。例如,`g++ main.cpp -o program`3.
CFC程序编程及调试的常见问题解答
问题3讨论了在修改FC/DB块时,CFC编译过程可能会报错的问题。当尝试更新功能块或数据块并编译CFC图表时,可能会遇到因为图表中插入的特殊功能块而导致的编译错误。
C++程序设计基础(第4版)习题解答
类型匹配:编译错误通常发生在类型不兼容时,如整型除以浮点型时不会报错,但整型除以整型后用%取余会报错。5. 运行时错误:“溢出”错误是在运行阶段由于数值超出变量能存储的范围导致的。6.
面向大一新生辅助学习高级程序设计语言C的课程指导用书_计算机基础知识信息表示C代码编译二进制程序汇编视角程序运行内存空间课程限定解释补充常见报错汇总附录学习资料实践问题解答.zip
在C语言的实际编程过程中,不可避免地会遇到各种编译错误和运行时错误。本书为学生提供了常见报错汇总,详细解释了各种错误产生的原因和解决方法。


