现象:修改数据后存入push_back()中,但push_back()中的存入数据均为初始值。
分析:调试的时候发现调用push_back()时候,对象创建用了复制构造函数,复制构造函数没有使用明确的基类初始化,就用了默认基类初始化构造。
源代码:
Girl::Girl(const Girl& other)
{
this->yanZhi = other.yanZhi;
}
修改后:
Girl::Girl(const Girl& other):Single(other.getName(), other.getAge())
{
this->yanZhi = other.yanZhi;
}