首页 > 解决方案 > 允许用户在我的类中定义数组大小而不是使用固定变量的最佳方法是什么,在这种情况下为 8

问题描述

这是我的代码

#include <iostream>
using namespace std;

class array
{
private:
    int arr[8];
    int max;
    int min;
public:
    void get_arr();
    void maxmin();
    void display();
};

void array::get_arr()
{
    int size;
    cout << "How many elements would you like to enter?";
    cin >> size;
    cout << "Enter elements: " << endl;
    for (int i = 0; i < size; i++)
    {
        cin >> arr[i];
    }
    max = arr[0];
    min = arr[0];
}

void array::maxmin()
{
    for (int i = 0; i < 8; i++)
    {
        if (max < arr[i])
        {
            max = arr[i];
        }
        if (min > arr[i])
        {
            min = arr[i];
        }
    }
}

void array::display()
{
    cout << "Largest is " << max;
    cout << "Smallest is " << min;
}

int main()
{
    array obj;
    obj.get_arr();
    obj.maxmin();
    obj.display();
}

到目前为止,我的代码可以编译并正常工作。然而,我对使用类还很陌生,并且正在研究这样的示例问题以习惯以这种方式格式化代码。我正在寻找有关如何最有效地格式化我的代码以获取用户输入的数组“大小”变量并将其实现到我的函数中的指针。

标签: c++arraysclass

解决方案


我不测试它。试试看 :)

class vector
{
private:
    std::vector<int> myvector;
    int max;
    int min;
public:
    void set_arr();
    void maxmin();
    void display();
};
void array::set_arr() // (set_arr not get_arr)
{

  int myint;
  int size;

  std::cout << "How many elements would you like to enter?";
  cin >> size;

  for(int i=0,i<size;i++){
    std::cin >> myint;
    this->myvector.push_back (myint);
  }

}

// 使用 this->myvector.size() 找到最大值和最小值


推荐阅读