beanBaseBeanUserBeanUserBeanBaseBeanBaseBeanid (int) create_timestd:: stringUserBeannamestd: stringBaseModelUserModelUserModelBaseModelBaseModelvirtual int addRecord (BaseBean *);
int BaseModel:: addRecord (BaseBean *数据)
{
,,,,,,std:: cout & lt; & lt;“base"& lt; & lt;std:: endl;
,,,,,,返回0;
}
UserModelint addRecord (BaseBean *);
int UserModel:: addRecord (BaseBean *数据)
{
,,,std:: cout & lt; & lt;“user"& lt; & lt;std:: endl;
,,,返回0;
}
mainaddRecord
,,,BaseModel基地;
,,,UserModel用户;
,,,BaseModel * basePtrOfBase=新BaseModel;
,,,BaseModel * basePtrOfUser=新UserModel;
,,,BaseModel, baseRefOfBase=基础;
,,,BaseModel, baseRefOfUser=用户;
,,,BaseModel baseOfUser=用户;
,,,出发出发;
,,,userBean.setId (1),
,,,userBean.setName(“第一user");
,,,std:: cout & lt; & lt;“基地:“
,,,base.addRecord(及出发);
,,,std:: cout & lt; & lt;“用户:“
,,,user.addRecord(及出发);
,,,std:: cout & lt; & lt;“basePtrOfBase:“
,,,basePtrOfBase→addRecord(及出发);
,,,std:: cout & lt; & lt;“basePtrOfUser:“
,,,basePtrOfUser→addRecord(及出发);
,,,std:: cout & lt; & lt;“baseRefOfBase:“
,,,baseRefOfBase.addRecord(及出发);
,,,std:: cout & lt; & lt;“baseRefOfUser:“
,,,baseRefOfUser.addRecord(及出发);
,,,std:: cout & lt; & lt;“baseOfUser:“
baseOfUser.addRecord(及出发);
BaseModeladdRecordvirtual
virtualvirtual 强> <强> 强> <强> 强>
,
2 BaseModelUserModelBaseModel
,,,int addRecord (BaseBean);
,,,虚拟int addRecordPrc (BaseBean)=0;
虚拟int getList (std:: list
addRecord
int BaseModel:: addRecord (BaseBean数据)
{
,,,data.setCreateTime (“2019 - 02 - 16“);
,,,返回这个→addRecordPrc(数据);
}
UserModeladdRecordPrcgetList
int UserModel:: addRecordPrc (BaseBean数据)
{
,,,出发*用户=static_cast<出发*祝辞(和数据),
, std:: cout & lt; & lt;用户→getId () & lt; & lt;std:: endl;
std:: cout & lt; & lt;.c_str用户→getCreateTime () () & lt; & lt;std:: endl;
返回0;
}
,
int UserModel:: getList (std:: list
{
,,,出发user1;
,,,user1.setId (1),
,,,user1.setName (“user1");
,,,user1.setCreateTime(“2019 - 02年- 15 -“);
,,,rtnList→push_back方法(user1);
,,,出发user2;
,,,user2.setId (2);
,,,user2.setName (“user2");
,,,user2.setCreateTime (“2019 - 02 - 16“);
,,,rtnList→push_back方法(user2);
返回0;
}
UserModeladdRecord
UserModel UserModel;
,,,出发出发;
,,,userBean.setId (1),
,,,userBean.setName(“第一user");
userModel.addRecord(出发);
std:: cout & lt; & lt;.c_str用户→getName () () & lt; & lt;std:: endl;
用户名
addRecordBaseBean *, addRecordPrcaddRecordBaseBeanaddRecordPrcBaseBean * addRecordaddRecordPrcBaseBean *
BaseBeanBaseBean
addRecordBaseBeanaddRecorddataidcreate_timeuserBeandataidcreate_timedatanamedatanameaddRecordPrcaddRecordPrcnamenulladdRecordBaseBean * addRecorddataid namecreate_timedataaddRecordnameaddRecordPrc getList
,,,std:: listc++中的多态用法总结