Эй, я в настоящее время занимаюсь домашним заданием, где мы сравниваем разные виды производительности для эффективности. Однако у меня возникают проблемы с доступом к элементу данных и чувствую себя немного глупым, потому что я чувствую, что это должен быть простой ответ. Вот моя главная функция.
int main()
{
//declarations
int const MYARRAYSIZE = 100;
Sort mySort(MYARRAYSIZE);
mySort.init_array();
clock_t timeA = clock();
for(int i = 0; i < MYARRAYSIZE; i++)
{
//run tests
mySort.insertion_sort(/*whatgoeshere*/, MYARRAYSIZE );
}
clock_t timeB = clock();
clock_t diff = timeB - timeA;
system("PAUSE");
}
и вот мой заголовок
class Sort
{
private:
int size;
int *myArray;
public:
Sort(int size);
~Sort();
friend ostream& operator << (ostream& out, const Sort& s)
{
//put code in here
}
void insertion_sort(int [], int);
void selection_sort(int [], int);
void merge_sort(int [], int);
void quick_sort(int [], int);
void partition(int [], int, int&);
void merge(int [], int, int);
void init_array();
int getSize();
};
Я пытаюсь получить доступ к массиву, который хранится в myArray, и я понимаю, что только класс может получить к нему доступ, но как я могу обратиться к нему?
/* whatgoeshere*/
Ничего не происходит.
удалить аргументы из функций-членов
Пример:
Просто используйте:
void insertion_sort( );
Это знает его myArray
и size
поскольку они являются членами данных класса
И просто назовите это как
mySort.insertion_sort( );
Это предполагает, что все ваши функции-члены реализованы правильно, используя myArray
и size
.