奇怪的Xcode问题制作程序行为不正确

时间:2016-07-12 23:40:03

标签: c++ xcode

#include <iostream>
#include <string>

using std::cout;
using std::cin;
using std::endl;
using std::string;

class Rectangle
{
private:
    double width;
    double height;

public:
    Rectangle(double w, double h)
    {
        width = w;
        height = h;
    }

    void setWidth(double w)
    {
        width = w;
    }

    double getArea()
    {
        cout << "width = " << width << endl;
        cout << "height = " << height << endl;
        return width * height;
    }
};

int main()
{
    Rectangle rect1(3.5, 7.0);
    rect1.setWidth(10.0);
    double rect1Area = rect1.getArea();
    cout << rect1Area << endl;

    return 0;
}

上面的代码产生以下(不正确的)输出:

width = 3.5
height = 10
35
Program ended with exit code: 0

这很奇怪,因为宽度设置为10,而不是高度。此外,如果我只是通过删除一个字母或添加一个字母(当然在定义和函数调用中)来更改setWidth方法的名称,那么程序将提供以下(正确的)输出:

width = 10
height = 7
70
Program ended with exit code: 0

我尝试过清理和重新构建,将代码复制到新文件,退出并重新启动Xcode甚至重新启动计算机,但这种行为仍在继续。这令人困惑。我正在使用Xcode 7.3.1。任何见解?

0 个答案:

没有答案