允许用户在我的类中定义数组大小而不是使用固定变量的最佳方法是啥,在这种情况下为 8

Posted

技术标签:

【中文标题】允许用户在我的类中定义数组大小而不是使用固定变量的最佳方法是啥,在这种情况下为 8【英文标题】:What is the best way to allow the user to define an array size in my class instead of having a fixed variable, in this case 8允许用户在我的类中定义数组大小而不是使用固定变量的最佳方法是什么,在这种情况下为 8 【发布时间】:2018-12-17 23:19:08 【问题描述】:

这是我的代码

#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();

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

【问题讨论】:

也许只用std::vector 在这里获得评论:code review 如果您不想要std::vector,请查找newdelete。还要查看 三法则copy&swap idiom,因为它们对于正确使用 new/delete 至关重要。 澄清一下:您的工作代码具有固定大小的数组。现在您想修改现有代码以允许用户指定尺寸吗? 梅森,我不得不请你澄清我的怀疑。虽然我没有投反对票,但我不会责怪任何人写下问题并转向更清晰的问题。我建议您重新提出问题以明确您的目标。 【参考方案1】:

我不测试它。试试看:)

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() 求最大值和最小值

【讨论】:

以上是关于允许用户在我的类中定义数组大小而不是使用固定变量的最佳方法是啥,在这种情况下为 8的主要内容,如果未能解决你的问题,请参考以下文章

C语言二维数组问题

c语言报错不允许使用不完整类型,让用户自定义数组大小。

创建类时如何定义数组的大小?

如何将用户定义的函数应用于变量,就像内置函数一样?

在 React / React Native 中不是父/子的类之间共享和更新变量

未解决IDEA 技巧:如何从变量直接跳到变量的类中,而不是跳到变量的声明处