谢谢你的帮助。这是我第一次发帖!
我正在尝试将Square类构造函数传递给Rectangle类构造函数,并且出现以下错误:
Square.cpp:9:错误:重新定义'Square :: Square(double)' Square.hpp:19:错误:此前定义的'Square :: Square(double)'
目标是将一个参数(我推测两次)从Square类传递给父Rectangle类(它接受2个参数)。
这是我的代码:
// Square.hpp
#ifndef SQUARE_HPP
#define SQUARE_HPP
#include "Rectangle.hpp"
using namespace std;
class Square : public Rectangle
{
//private:
public:
Square(double sideSquare):Rectangle(sideSquare, sideSquare){};
//Square(double sideSquare):Rectangle(double, double){}
void setLength(double);
void setWidth(double);
};
#endif
// Square.cpp
#include "Square.hpp"
using namespace std;
Square::Square(double sideSquare) : Rectangle (sideSquare, sideSquare){}
void Rectangle::setLength(double lengthIn)
{length = lengthIn; width = lengthIn;}
void Rectangle::setWidth(double widthIn)
{width = widthIn; length = widthIn;}
// squareMain.cpp
#include "Square.hpp"
#include <iostream>
using namespace std;
int main ()
{
Rectangle box1(14, 11.5);
cout << "box1 area: " << box1.area() << endl;
cout << "box1 perimeter: " << box1.perimeter() << endl;
return 0;
}
我没有包含Rectangle.hpp和Rectangle.cpp。我非常感谢你的帮助,提前谢谢