PDA

Tam Sürümünü Görmek İçin : inheritence kullanmaya calisirken hata


ankakusu
13/08/2007, 17:19
Merhaba,

ben inheritance ile ilgili bir kod yazmaya calisiyordum.
Once bir sekil sinifi yarattim. Sonra bu sekil sınıfını inherit
eden bir tane daha sınıf yarattım ki bu da dikdörtgen sınıfı.

ama bir hata veriyor sebebini anlamadım...
bir şekilde inherit etmiyor olmalı çünkü protected değişkenlerden
haberdar değil gibi gözüküyor...

bir yardımcı olursanız sevinirim.
bir de hata mesajının altında dikdörtgen sınıfını da veriyorum ki
inherit ederken mi bir hata yapıyorum...

c:\program files\microsoft visual studio\work\sekil\dikdortgen.h(13) : error C2504: 'sekil' : base class undefined
C:\Program Files\Microsoft Visual Studio\work\sekil\dikdortgen.cpp(15) : error C2065: 'x_coord' : undeclared identifier
C:\Program Files\Microsoft Visual Studio\work\sekil\dikdortgen.cpp(16) : error C2065: 'y_coord' : undeclared identifier




class dikdortgen : public sekil
{
public:
dikdortgen(int x,int y,int dik,int yat);
//constructors
dikdortgen();
virtual ~dikdortgen();



private:
int yatay;
int dikey;
};


ankakusu
13/08/2007, 17:47
tekrar merhaba,

ben iyisimi butun projeyi yolliyim size.
microsoft visual cpp'den open workspace->dsw uzantili dosyayi secersek projeyi,
aciyor bize...

cunku compile ederken bir hata olusuyor.

bu hatayi nasil cozebilirim?

golgepapaz
13/08/2007, 18:48
#include "sekil.h"

class dikdortgen : public sekil
{
public:
dikdortgen(int x,int y,int dik,int yat);
//constructors
dikdortgen();
virtual ~dikdortgen();

private:
int yatay;
int dikey;
};


sekil.h dosyasinini ici bos, #include "sekil1.h" demen gerekiyordu herhalde

ankakusu
13/08/2007, 19:03
golgepapaz oncelikle sagol cunku :

#include "sekil1.h" deyince çalıştı ama neden?

şekil1 nereden çıktı?
evet dosyalarin icine baktim hakkaten sekil.h'in ici
bostu..

ama nasil uretmis oyle kendi kendine?

aslinda biraz hatirliyorum ben yeni bir class olustururken
sekil yazmama ragmen kendi kendine sekil1'e cevirmisti...

niye boyle oldugunu anlamadim? niye böyle bir şey
yapma gereği duyuyor program?