#include<iostream>
using namespace std;
const pi=3.14;
class SimpleCircle
{
public:
SimpleCircle();
SimpleCircle(float Radius):Radius(Radius){}
getcircumference()
{
float circumference=2*pi*Radius;
return circumference;
}
Getarea()
{
float area=pi*(Radius)*(Radius);
return area;
}
private:
float Radius;
};
int main()
{
SimpleCircle c1;
c1.getcircumference();
c1.Getarea();
return 0;
}
//Linking...
6_20.obj : error LNK2001: unresolved external symbol "public: __thiscall SimpleCircle::SimpleCircle(void)" (??0SimpleCircle@@QAE@XZ)
Debug/6_20.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.
6_20.exe - 1 error(s), 0 warning(s)
我还在读书,学习期间多次出现此类问题,希望大神帮忙解决,谢谢
第三行 const pi = 3.14???????
pi的类型呢
你说的是对的,中间加了float就可以了,谢谢你啊
class SimpleCircle 这个改成public看看
你说的是对的,中间加了float就可以了,谢谢你啊。
回复错了,是楼下的
可是可以这样连类的框架都不要吗?抱歉啊,c++还没学完呢
@套外人: 我的意思是加载class前面.看那错误以为是没有权限外部调用
我刚刚又遇到问题了,书上没怎么提,比如说有一个基类A,类B公有继承A,然后类C又公有继承B,可是我在类C中使用类A中的一个公有成员时出现了错误,把类C公有继承B改为公有继承A就又可以了。可是题目要求C继承B,这个怎么弄啊?
@吴瑞祥:
@套外人: 得看是什么错的.
@吴瑞祥:
error C2512: 'Rectangle' : no appropriate default constructor available
@套外人: 语法问题吧.没有默认的构造函数
@吴瑞祥:
#include<iostream>
using namespace std;
const float pi=3.14;
class Shape
{
public:
void point(float xx,float yy)
{
x=xx;
y=yy;
}
float line(float l1)
{
a=l1;
return a;
}
private:
float x;
float y;
float a;
};
class Rectangle:public Shape
{
public:
Rectangle(float l1,float l2)
{
line(l1);
b=l2;
}
void Rarea(float l1)
{
float Ra=line(l1)*b;
cout<<"矩形的面积为:"<<Ra<<endl;
}
private:
float b;
};
class Circle:public Shape
{
public:
Circle(float xx,float yy,float rr)
{
point(xx,yy);
r=rr;
}
void Carea()
{
float Ca=pi*r*r;
cout<<"圆的面积为:"<<Ca<<endl;
}
private:
float r;
};
class Square:public Rectangle
{
public:
Square(float l1)
{
line(l1);
}
void Sarea(float l1)
{
float Sa=line(l1)*line(l1);
cout<<"正方形的面积为:"<<Sa<<endl;
}
};
void main()
{
Rectangle R(2,3);
R.Rarea(2);
Circle C(1,1,1);
C.Carea();
Square S(5);
S.Sarea(5);
}
@吴瑞祥:
把Circle类后面:public Rectangle改为:public Shape,编译就通过了