小弟C++学得不好.关于继承...
#include <stdio.h>
#include <iostream.h>
class A
{
public:
virtual void Test(){}
};
class B
{
public:
virtual void Test(){}
};
class C : public A, public B
{
public:
void Test()
{
cout<<"My Test C"<<endl;
}
};
void main(void)
{
C cT;
A* aT = &cT;
B* bT = &cT;
cT.Test();
aT->Test();
bT->Test();
}
我现在的问题就是有没有办法可以在class C 中写两个void Test() 方法,使 aT->Test() 与 bT->Test() 调用分别不同.
问题点数:100、回复次数:8Top
1 楼ydfivy(我就是一送外卖的)回复于 2006-03-16 16:16:56 得分 20
#include <stdio.h>
#include <iostream.h>
class A
{
public:
virtual void Test(){cout<<"My Test A"<<endl;}
};
class B
{
public:
virtual void Test(){cout<<"My Test B"<<endl;}
};
class C : public A, public B
{
public:
void Test()
{
cout<<"My Test C"<<endl;
}
};
void main(void)
{
C cT;
A* aT = &cT;
B* bT = &cT;
cT.Test();
aT->A::Test();
bT->B::Test();
}
是这个意思吗?Top
2 楼luolovegui(骆归)回复于 2006-03-16 16:23:05 得分 0
没意思.我的要求是 A,B 两个类不能改写.Top
3 楼ydfivy(我就是一送外卖的)回复于 2006-03-16 16:32:51 得分 20
那你在C类的Test()函数中加上两种处理再根据对象的信息来分别处理不就得了.Top
4 楼syy64(太平洋)回复于 2006-03-16 16:35:43 得分 20
除非两个函数有不一样的地方,否则作不到。Top
5 楼LongLongAgoImBoy(ThereIsAMe)回复于 2006-03-16 16:46:24 得分 20
#include <stdio.h>
#include <iostream.h>
class A{...}
class B{...}
class A2 : public A
{
public:
virtual void Test(){cout<<"My Test A2"<<endl;}
};
class B2 : public B
{
public:
virtual void Test(){cout<<"My Test B2"<<endl;}
};
class C : public A2, public B2
{
public:
void Test()
{
cout<<"My Test C"<<endl;
}
};
void main(void)
{
C cT;
A2* aT = &cT;
B2* bT = &cT;
cT.Test();
aT->A2::Test();
bT->B2::Test();
}
这样行不?Top
6 楼aa3000(杀手K)回复于 2006-03-16 16:54:58 得分 20
#include <stdio.h>
#include <iostream.h>
class A
{
public:
void Test(){cout<<"My Test A"<<endl;}
};
class B
{
public:
void Test(){cout<<"My Test B"<<endl;}
};
class C : public A, public B
{
public:
void Test()
{
cout<<"My Test C"<<endl;
}
};
void main(void)
{
C cT;
A* aT = &cT;
B* bT = &cT;
cT.Test();
aT->Test();
bT->Test();
}Top
7 楼aa3000(杀手K)回复于 2006-03-16 16:55:21 得分 0
上面的可以,但又有什么意义呢?Top
8 楼luolovegui(骆归)回复于 2006-03-17 09:52:07 得分 0
那你在C类的Test()函数中加上两种处理再根据对象的信息来分别处理不就得了.
===========================================================================
有什么办法可以加上两种处理???? 并且可以区分??Top




