Czy to jest klasa abstakcyjna?

0
class owoc
{
protected:
	string rodzaj;
	string kraj;
	int cena;
public:
	owoc();
	owoc(string a, string b, int c);
	owoc(owoc &mk);

	void setrodzaj(string a);
	void setkraj(string a);
	void setcena(int a);
	string getrodzaj();
	string getkraj();
	int getcena();

	virtual void wypisz() = 0;
	owoc *next;
};
owoc::owoc()
:rodzaj("cytrus"), kraj("Polska"), cena(1){}
owoc::owoc(string a, string b, int c){
	rodzaj = a;
	kraj = b;
	cena = c;
}
owoc::owoc(owoc &mk){
	rodzaj = mk.rodzaj;
	kraj = mk.kraj;
	cena = mk.cena;
}
void owoc::setrodzaj(string a){	rodzaj = a; }
void owoc::setkraj(string a){ kraj = a; }
void owoc::setcena(int a){ cena = a; }
string owoc::getrodzaj(){ return rodzaj; }
string owoc::getkraj(){	return kraj; }
int owoc::getcena(){ return cena; }
void owoc::wypisz(){
	cout << "[owoc]   rodzaj: " << rodzaj << "   kraj: " << kraj << "   cena: " << cena <<endl;
}

Klasa staję się abstrakcyjną, gdy deklaruję metodę virtual void wypisz() = 0;
Mam tylko pytanie czy jak wypełnię ją jakoś instrukcją, w tym wypadku:

void owoc::wypisz(){
	cout << "[owoc]   rodzaj: " << rodzaj << "   kraj: " << kraj << "   cena: " << cena <<endl;
}

to czy nadal, będzie to klasa abstrakcyjna?

Nie mogę zrozumieć, co może zawierać klasa abstrakcyjna.

0

http://www-01.ibm.com/support/knowledgecenter/SSXVZZ_8.0.0/com.ibm.xlcpp8l.doc/language/ref/cplr142.htm%23CPLR142?lang=en

przykładowe użycie:

unikalną informacją w member function: wypisz() dla konkretnego owocu jest jego nazwa i kolor, nie robiłem tego jako osobne zmienne; zostawiłem to jako tekst

http://ideone.com/i6S00w

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