【问题标题】:call functions from vector of class in c++从c ++中的类向量调用函数
【发布时间】:2016-10-01 14:46:34
【问题描述】:

我正在编写一个用于插入排序的程序。我正在创建一个类来读取打印并对整数向量进行排序。我已经创建了一个类向量,我想调用函数从创建的类向量中读取、排序和打印.如何做到这一点?

谢谢,

#include <iostream>
#include <vector>

using namespace std;

class sorting
{
private:
    vector<int>arr;

public:
    void read();
    void sortt();
    void print();
};

void sorting :: read()
{
    int n;

    cin>>n;

    for(int i=0; i<n; i++)
    {
        int t;
        cin>>t;
        arr.push_back(t);
    }

}


void sorting :: sortt()
{
    int j,temp;

    for(unsigned int i=0; i<arr.size(); i++)
    {
        temp=arr[i];
        j=i;

        while(temp<arr[j-1] && j>0)
        {
            arr[j]=arr[j-1];
            j=j-1;

        }
        arr[j]=temp;
    }
}

void sorting :: print()
{
    for(unsigned int k=0; k<arr.size(); k++)
    {
        cout<<arr[k]<<"\t";

    }
    cout<<endl;
    arr.clear();
}


int main()
{
    vector<sorting>s;

    s.read(); // giving an error
    s.sortt(); // giving an error

    return 0;
}

【问题讨论】:

    标签: class c++11 vector


    【解决方案1】:

    应该是sorting s; 而不是vector&lt;sorting&gt;。你在类sorting中定义了那些方法read()sortt()

    【讨论】:

      【解决方案2】:

      谢谢,

      我偶然在不同的网站上用谷歌搜索得到了这个答案,

      就像向量(100)

      所以我可以打电话

      s[i].sortt()
      s[i].print()

      对于向量的对象

      【讨论】:

        猜你喜欢
        • 2011-07-13
        • 1970-01-01
        • 2021-12-31
        • 2013-02-14
        • 2021-03-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多