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

关于vector容器和virtual函数的有关问题!

2012-02-16 
关于vector容器和virtual函数的问题!高手进,在线等。我定义了一个父类。然后又定义了3个子类。在父类中我定义

关于vector容器和virtual函数的问题!高手进,在线等。
我定义了一个父类。然后又定义了3个子类。   在父类中我定义了一个虚函数,然后我定义了一个vectror变量,定义的时候是用来储存父类变量的。然后我把3个子类的对象储存到了vector变量中了。然后我用vector的迭代器遍历容器。让容器内的对象调用那个虚函数,为什么调用的都是父类的函数??   举个例子
class   father
{
        virtual   void   fn()
          {
                        ......
            }  
}

class   son1
{
          void   fn()
        {
        }  
}

class   son1
{
          void   fn()
        {
        }  
}

class   son1
{
          void   fn()
        {
        }  
}
son1   son11;
son2   son22;
son3   son33;
vector <father>   vec;
vec.push_back(son11)
....

vector <father> ::iterator   ite   =   vec.begin();

ite-> fn()   //为什么这里调用的不是SON1   的fn函数,而是father的fn函数??

[解决办法]
程序结束前记得要再遍历一遍vector delete所有的对象.

热点排行