PDA

Tam Sürümünü Görmek İçin : C++ Class hedesi problemi


Euclides
12/12/2004, 14:06
class test1
{
public:
....
....
virtual int x(......);
};
class test2 : public test1
{
public:
....
....
virtual int x(......);
};

şimdi
söyle bir kod olsun

test2 *t=new test2();
t->x();

bu kod önce test1'i.n x'ini sonra test2'inin x'ini çağırıyor
fakat ben test1'in x'i hiç çağırılmasın istiyorum

yapam mümkün mü ??


ceeyt
12/12/2004, 16:50
Euclides, senin yazdiklarina belirtec olabilecek birseyler ekledim, test1 x() zaten hic cagrilmiyor.

Belkide sormak istedigini anlayamadim.


#include <iostream>

using namespace std;

bool a = false;
bool b = false;

class test1
{
public:
/*
....
....
*/
virtual int x(void);
};
class test2 : public test1
{
public:
/*
....
....
*/
virtual int x(void);
};

int test1::x()
{
a = true;
return 1;
}

int test2::x()
{
b = true;
return 2;
}

int main(void)
{
test2 *t = new test2();

cout << "test1 x() : " << a << endl;
cout << "test2 x() : " << b << endl << endl;

cout << t->x() << endl << endl;

cout << "test1 x() : " << a << endl;
cout << "test2 x() : " << b << endl;


return 0;
}