Вот абстрактный класс
class number_sort{
public:
int num[1024];
int qww(int a);
public:
bool status;
int number=0;
virtual bool compare(int a, int b);
virtual void sort();
virtual bool test(int a[]);
virtual void setSet(int a[]);
};
Вот производный класс
class big_to_small:public number_sort{
public: int finish[1024];
void setSet(int a[]){
for(int i=1;i<=1024;i++){
if(a[i]!=0) {
num[i]=a[i];
number++;
}
}
}
bool compare(int a, int b) {
int retur = 0;
if (a >= b) {
retur = a;
status = true;
}
if (b >= a) {
retur = b;
status = false;
}
if (a == b) {
retur = a;
status = true;
}
return status;
}
bool test(int a[]) {
int numm = 0;
bool retur = true;
for (int i = 1; i <= 1024; i++) {
if (a[i] == 0) {
numm = i;
break;
}
}
for (int i = 2; i <= numm; i++) {
if (a[i - 1] < a[i]) {
retur = false;
break;
}
}
return retur;
}
void sort() {
for (int i = 2; i <= number; i++) {
if (!compare(num[i - 1], num[i])) {
int k = num[i - 1];
num[i - 1] = num[i];
num[i] = k;
}
}
if (!test(num))
sort();
}
};
Я написал абстрактный класс и его производные в отдельных cpp и hpp.В основном я объявляю класс используя big_to_small bigg;но он продолжает показывать ошибку сборки.
Я не использовал C ++ в течение очень долгого времени, и я использую Java в течение последних нескольких лет.Это какая-то ошибка объявления или я написал мой абстрактный класс неправильно?