首页 新闻 会员 周边 捐助

c++程序,编译成功,但是连接不行

0
[已解决问题] 解决于 2017-05-23 15:32

#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)

问题补充:

我还在读书,学习期间多次出现此类问题,希望大神帮忙解决,谢谢

套外人的主页 套外人 | 菜鸟二级 | 园豆:202
提问于:2017-05-14 21:35
< >
分享
最佳答案
0

第三行 const pi = 3.14???????

pi的类型呢

奖励园豆:5
去冰三分糖 | 菜鸟二级 |园豆:380 | 2017-05-15 09:59

你说的是对的,中间加了float就可以了,谢谢你啊

套外人 | 园豆:202 (菜鸟二级) | 2017-05-19 14:02
其他回答(1)
0

class SimpleCircle 这个改成public看看

吴瑞祥 | 园豆:29449 (高人七级) | 2017-05-14 23:14

你说的是对的,中间加了float就可以了,谢谢你啊。

支持(0) 反对(0) 套外人 | 园豆:202 (菜鸟二级) | 2017-05-19 13:59

回复错了,是楼下的

支持(0) 反对(0) 套外人 | 园豆:202 (菜鸟二级) | 2017-05-19 13:59

可是可以这样连类的框架都不要吗?抱歉啊,c++还没学完呢

支持(0) 反对(0) 套外人 | 园豆:202 (菜鸟二级) | 2017-05-19 14:04

@套外人: 我的意思是加载class前面.看那错误以为是没有权限外部调用

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2017-05-19 14:10

我刚刚又遇到问题了,书上没怎么提,比如说有一个基类A,类B公有继承A,然后类C又公有继承B,可是我在类C中使用类A中的一个公有成员时出现了错误,把类C公有继承B改为公有继承A就又可以了。可是题目要求C继承B,这个怎么弄啊?

@吴瑞祥: 

支持(0) 反对(0) 套外人 | 园豆:202 (菜鸟二级) | 2017-05-19 14:52

@套外人: 得看是什么错的.

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2017-05-19 14:57

@吴瑞祥: 

error C2512: 'Rectangle' : no appropriate default constructor available

支持(0) 反对(0) 套外人 | 园豆:202 (菜鸟二级) | 2017-05-19 15:13

@套外人: 语法问题吧.没有默认的构造函数

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2017-05-19 15:14

@吴瑞祥: 

#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);
}

支持(0) 反对(0) 套外人 | 园豆:202 (菜鸟二级) | 2017-05-19 15:43

@吴瑞祥: 

把Circle类后面:public Rectangle改为:public Shape,编译就通过了

支持(0) 反对(0) 套外人 | 园豆:202 (菜鸟二级) | 2017-05-19 15:47
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册