#include <iostream>
using std::cout;
using std::endl;
class square {
public:
double length,width;
square(double length,double width);
square();
~square();
double perimeter();
};
double square::perimeter() {
return 2*square.length + 2*square.width;
}
int main() {
square sq(4.0,4.0);
cout << sq.perimeter() << endl;
return 0;
}
我正在尝试编写一个简单的类程序.我收到错误
在成员函数’double square :: circles()’;
.cpp:21:error:”之前的primary-expression代币
.cpp:21:error:”之前的primary-expression代币
这是否意味着我必须使用2 * square :: length 2 * square :: width?
解决方法
正方形是一种,不是物体;代替
return 2*square.length + 2*square.width;
做
return 2*length + 2*width;
(其隐含地与以下相同:
return 2*this->length + 2*this->width;
你可能,或者请不可以,为了清楚起见).
2 * square :: length 2 * square :: width如果长度和宽度都是有效的语法
>正方形的静态成员,或>某些基层广场的成员,或>某些命名空间中的对象正方形