Dziedziczenie klas i błąd "klasa podstawowa niezdefiniowana"

0

Witam,
piszę program i mam problem z dziedziczeniem w wywala mi błąd: "pomiar": klasa podstawowa niezdefiniowana, no i oczywiście nie działają funkcje z klasy pomiar, siedzę na tym dłuższy czas i nie mogę dojść do tego czemu tak jest. Program ma za zadanie powiekszac tablice o jeden albo razy 2 i liczyc czas wykonania czynnosci. Ogólnie to wszystko inne dziala oprócz funkcji z klasy "pomiar" w klasie "mojatablica".

#include "stdafx.h"
#include <iostream>
#include <ctime>
using namespace std;

class mojatablica :public pomiar{
public:
	void wykonaj();
	void menu();
	void pobierz_dlugosc();
	void rozmiar_tablicy();
	void powieksz_jeden();
	void powieksz_razy();
	void dotnij(int dlugosc);
private:
	int *tablica = NULL;
	int rozmiar = 0;
	int dlugosc = 0;
	int powtorzenia = 0;
};
void mojatablica::wykonaj() {
	menu();
}
void mojatablica::menu() {
	rozmiar_tablicy();
	int wybor;
	cout << "1: Powieksz tablice: wielkosc+1" << endl
		<< "2: Powieksz tablice: wilekosc*2" << endl;
	cin >> wybor;
	switch (wybor) {

	case 1:
		pobierz_dlugosc();
		zacznij_mierzyc();
		while (rozmiar != dlugosc) { 			//powiekszanie poki nie osiagnie conajmniej wilkosci zadanej
			powieksz_jeden();
		}
		zakoncz_mierzyc();
		break;
	case 2:
		pobierz_dlugosc();
		zacznij_mierzyc();
		while (dlugosc >= rozmiar) { 			//powiekszanie poki nie osiagnie conajmniej wilkosci zadanej
			powieksz_razy();
		}
		dotnij(dlugosc);		//docinanie do zadanej wielkosci
		zakoncz_mierzyc();
		break;
	}
}
void mojatablica::pobierz_dlugosc() {
	cout << "podaj wielkosc docelowa" << endl;
	cin >> dlugosc;
}
void mojatablica::rozmiar_tablicy() {

	rozmiar = 10;
	tablica = new int[rozmiar];

}
void mojatablica::powieksz_jeden() {

	int *bufor = new int[rozmiar];

	for (int i = 0; i < rozmiar; i++) {
		bufor[i] = tablica[i];
	}
	delete[]tablica;

	tablica = new int[rozmiar + 1];
	for (int i = 0; i < rozmiar; i++) {
		tablica[i] = bufor[i];
	}
	delete[]bufor;
	rozmiar++;
}
void mojatablica::powieksz_razy() {

	int *bufor = new int[rozmiar];
	for (int i = 0; i < rozmiar; i++) {
		bufor[i] = tablica[i];
	}
	delete[]tablica;

	tablica = new int[rozmiar * 2];
	for (int i = 0; i < rozmiar; i++) {
		tablica[i] = bufor[i];
	}
	delete[]bufor;
	rozmiar = rozmiar * 2;
}
void mojatablica::dotnij(int dlugosc) {

	int *bufor = new int[dlugosc];

	for (int i = 0; i < dlugosc; i++) {
		bufor[i] = tablica[i];
	}

	delete[]tablica;
	tablica = new int[dlugosc];

	for (int i = 0; i < dlugosc; i++) {
		tablica[i] = bufor[i];
	}

	delete[]bufor;
	rozmiar = dlugosc;
}

class pomiar {
public:
	void zacznij_mierzyc();
	void zakoncz_mierzyc();
protected:
	clock_t stop = 0;
	clock_t start = 0;
	int suma = 0;
	int czas = 0;

};
void pomiar::zacznij_mierzyc() {
	start = clock();
}
void pomiar::zakoncz_mierzyc() {
	stop = clock();
	czas = (int)1000. / CLOCKS_PER_SEC*(stop - start);
}

int main() {
	mojatablica tab;
	
	tab.wykonaj();						
	system("pause");
	return 0;
}
1

Klasa pomiar musi być zdefiniowana przed klasą pochodną. Przenieś definicję wyżej.

1 użytkowników online, w tym zalogowanych: 0, gości: 1