调用从类C++函数
问题描述:
头文件是这样的:调用从类C++函数
#include "Lib110ct.h"
class Circle
{
protected:
double mx, my, mdx, mdy, mradius;
public:
Circle(){}
Circle(double x,double y,double dx,double dy,double rad):mx(x),my(y),mdx(dx),mdy(dy),mradius(rad){}
void setPos(double x, double y){mx=x;my=y;}
void setDir(double dx, double dy){mdx=dx; mdy=dy;}
void setRadius(double rad){mradius=rad;}
double getX(){return mx;}
double getY(){return my;}
void draw(Turtle * t);
void clear(Win110ct& win);
void move();
bool collides(Circle & c);
};
#include "shape.h"
int main(int argc, char** argv)
{
Win110ct win;
Turtle * t = win.getTurtle();
Circle Circle;
Circle.setPos(100, 300);
Circle.setRadius(12);
getX();
getY();
Circle.draw(t);
return 0;
}
它给我的错误信息是:
C:\用户\ Oluwaseun \文档\ 110ct \ challenge2 \ programming \ programming \ main.cpp | 13 |对`Circle :: draw(Turtle *)'|的未定义引用
我在做什么错?
答
您需要定义
void draw(Turtle * t);
请大家在看看:http://www.cprogramming.com/declare_vs_define.html
基本上,你定义一个函数,当你为它编写代码:
void draw(Turtle* t) {
// code here
}
有你定义'draw(Turtle *)'? – 2013-04-22 23:21:51
我不明白 – 2013-04-22 23:32:05
他说,你已经声明了一个函数'void draw(Turtle *)',但是你没有在示例中定义函数的代码。 – JBentley 2013-04-22 23:35:10