0

我已经很久没有使用 c++ 了,而且我也从来没有真正掌握过课程。
我决定通过制作一个小型几何应用程序来重新学习课程。
这是square.h:

class Square{
public:
    float width;
    float height;
    float area;
    float perimeter;


    void Square(int,int);
    void Square();
    void ~Square();




};

这是square.cpp:

#include "square.h"

Square::Square (int w, int h){
    width = w;
    height = h;
    area = width * height;
    perimeter = (width*2)+(height*2);
}

Square::Square (){

}

Square::~Square (){

}

当我运行/构建程序时,它说error: return type specification for constructor invalid
我猜这是说构造函数和析构函数应该不是void,但我认为我错了。

4

4 回答 4

3

我想这是说构造函数和析构函数应该不是void

是的,应该是:

Square(int,int);
Square();
~Square();

我认为void意味着该函数不返回任何内容?

是的,但这些不是函数。它们是构造函数和析构函数,不需要指定的返回类型。

于 2013-07-30T01:09:25.790 回答
0

摆脱void构造函数和析构函数。

Square(int,int);
Square();
~Square();

还有一个建议,因为你正在学习。如果您不打算将类变量公开给子类,请将它们设为私有。

于 2013-07-30T01:10:12.700 回答
0

在构造函数和析构函数中根本不应该有返回类型,

class Square
{
public:
    float width;
    float height;
    float area;
    float perimeter;


    Square(int,int);
    Square();
    ~Square();

};
于 2013-07-30T01:11:34.550 回答
0

Constructor并且destructor没有返回类型。它们是一种特殊的类函数,具有相同的名称class

class Square{
public:
    float width;
    float height;
    float area;
    float perimeter;


    Square(int,int);
    Square();
    ~Square();




};
于 2013-07-30T05:11:40.110 回答