2016-06-02 4 views
0

Я пишу программу для сортировки вставки. Я создаю класс для чтения и сортировки вектора integers.I создал вектор класса, и я хочу вызвать функции read, сортировать и печатать из вектора класса, созданного. Как это сделать?функции вызова из вектора класса в C++

Спасибо,

#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; 
} 

ответ

1

Это должно быть sorting s; и не vector<sorting>. Вы определили эти методы read() amd sortt(), определенные в классе sorting.

0

Спасибо,

я получил этот ответ на поиск в Google случайно в различных веб-сайтах,

Это как векторы (100)

Так что я могу назвать

с [я]. сортировка()
s [i] .print()

для объектов вектора

Смежные вопросы