首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

多态势不是不是智能用指针 和引用实现,该怎么处理

2012-03-19 
多态势不是不是智能用指针 和引用实现我定义2各类classaa1:publicaa{public:voidprin(){cout println

多态势不是不是智能用指针 和引用实现
我定义2各类
class   aa1:public   aa
{
public:
void   prin(){
cout < < "printlnaaaaaa ";
}

};
class   b:public   aa1
{

public:
void   pri1n(){
cout < < "prinbbbbbbbbtln ";
}
};
只有通过
void   sa1(aa   &g)
{
g.prin();
}
void   sa(aa   *g)
{
g-> prin();
}调用才能实现多态   如果用
void   sa1(aa   g)
{
g.prin();
}
就布可以   请问为深莫


[解决办法]

[解决办法]
yes
[解决办法]

[解决办法]
如果是使用对象实例访问,
那么就是 显式访问成员方法,
访问结果只能是该对象类型的成员方法。
[解决办法]
对于虚函数的动态调用,是通过首先拿到对象的this指针,然后再拿到虚表指针(VPTR),通过虚表指针拿到虚表,最终查询虚表找到相应的虚函数地址。所以如果直接用对象的话,对于虚函数的调用变成了静态调用,虚函数就没有表现出 "虚 "性。
[解决办法]
ding

热点排行