我是Eclipse环境下的C ++初学者。你能解释一下这段代码的错误吗?
#include "Shapes.h"
Shapes::Shapes(float l, float w)
{
length = l;
width = w;
float calculateArea()
{
float area = length * width;
return calculateArea;
}
}
答案 0 :(得分:9)
您的代码出了问题:
area
变量。}
之一位置错误。calculateArea
可能是Shapes
的成员函数,因此应以Shapes::
为前缀。答案 1 :(得分:7)
您忘记在calculatateArea
的实现中添加类范围。
您的cpp代码必须类似于
Shapes::Shapes(float l, float w)
{
length = l;
width = w;
}
float Shapes::calculateArea()
{
float area = length * width;
return area;
}
答案 2 :(得分:1)
这就是您的代码应该如何:
#include "Shapes.h"
Shapes::Shape(float l, float w) : length(l), width(w) { }
float Shape::calculateArea()
{
return this->length * this->width;
}
我更改了构造函数以使用构造函数语法。它比你以前的任务更快。
您应该阅读此http://www.cplusplus.com/doc/tutorial/classes/
它甚至与您正在做的事情完全相同。