У меня есть заголовок и файл cpp, который я пытался создать.
.cpp файл:
#include "SelectionSort.h"
void SelectionSort::Fill(){
Buffer = new char[Size];
for(int i=0;i<Size;i++){
Buffer[i] = rand() % 10;
}
}
void SelectionSort::PrintOut(){
for(int i=0;i<Size;i++){
cout<<Buffer[i]<<endl;
}
}
void SelectionSort::Sort(){
int lowest;
for(int i=0;i<Size;i++){
lowest=i;
for(int j=i;j<(Size-i);++j)
if(Buffer[j]>lowest) lowest = j;
swap(Buffer[lowest], Buffer[i]);
}
}
.h файл:
#ifndef SELECTIONSORT_H
#define SELECTIONSORT_H
#include <algorithm>
#include <stdlib.h>
#include <iostream>
using namespace std;
class SelectionSort {
public:
SelectionSort();
SelectionSort(int S){Size= S;}
void Fill();
void PrintOut();
void Sort();
private:
int Size;
char * Buffer;
};
#endif /* SELECTIONSORT_H */
Но я получаю эти ошибки:
SelectionSort.cpp: 17: множественное определение «SelectionSort :: PrintOut ()»
SelectionSort.cpp: 17: здесь впервые определено
SelectionSort.cpp: 23: множественное определение «SelectionSort :: Sort ()»
SelectionSort.cpp: 23: здесь впервые определено
SelectionSort.cpp: 10: множественное определение «SelectionSort :: Fill ()»
SelectionSort.cpp: 10: сначала определено здесь,
Как я неправильно определяю свои функции?
Я использую netbeans и их общие настройки make / build. Я хотел больше узнать о файлах make. Должен ли я написать свой собственный и решить проблему?