如何在Main中设置等于Int的Int函数

时间:2018-02-13 10:45:44

标签: c++

我为getLength,getWidth和getArea设计了函数,我需要将它们分配给main函数中的int值,但我不知道如何。

我已在下面发布了我的标题,实现和main.cpp文件。

请adivse。

标头文件

#ifndef RECTANGLE_H
#define RECTANGLE_H

class Rectangle
{
    Rectangle();
public:
    int getLength;
    int getWidth();
    int getArea(int x, int y)
};
#endif

实施档案

#include "Rectangle.h"
#include <iostream>
using namespace std;

int Rectangle::getLength()
{
    int x = 0;
    cout << "Enter Length: ";
    cin >> x;

    return x;
}

int Rectangle::getWidth()
{
    int x = 0;
    cout << "Enter Width: ";
    cin >> x;

    return x;

}

int Rectangle::getArea(int x, int y)
{
    int area = x * y;
    return area;
}

这是我开始遇到问题的地方。函数返回一个整数,但我不知道如何将返回整数赋值给int值。

#include "Rectangle.h"
#include "Rectangle.cpp"
#include <iostream>
#include <vector>
using namespace std;

int main() {
    int area, length, width = 0;

    vector <int> myVector;
    cout << "Lets Make Some Rectangles: " << endl;

    for (int i = 0; i < 5; i++) {
        length = Rectangle::getLength();
        width = Rectangle::getWidth();

        area = Rectangle::getArea(length,width);

        myVector.push_back(area);
    }

    int largest = 0;

    for (int i = 0; i < 5; i++) {
        if (myVector[i] >= myVector[i + 1]) {
            largest = myVector[i];
        }
    }
    cout << "The Largest Rectangle Has an Area of: " << largest;
    system("pause");
    return 0;
}

2 个答案:

答案 0 :(得分:1)

只有当member function在类Rectangle::getLength();内声明为静态时,才能以getLength();方式调用Rectangle

如果member functions未声明为静态,则可以通过类的对象访问它们。

Rectangle obj;
length = obj.getLength();

此外,您正在越过向量myVector的有效范围。您已在向量中插入了5个元素(从索引0到4),并在myVector[5]时通过myVector[i] >= myVector[i + 1]尝试访问第6个元素i = 4

找到最大的正确方法:

int largest = myVector[0];

for (int i = 1; i < myVector.size(); i++) {
    if (largest > myVector[i]) {
        largest = myVector[i];
    }
}

答案 1 :(得分:0)

就我对C ++的了解而言,你需要创建成员变量来保存数据(宽度,长度),如果你需要创建构造函数,它将获取那些变量变量的参数:

Rectangle(int width, int length){
    m_width = width;
    m_length = length;
}

注意成员变量m_widthm_length

并创建对象,它将使用构造函数保存数据。即

Rectangle myRectangle = Rectangle(5,5)