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

多态势不是不是智能用指针 和引用实现
我定义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