运行环境:VC6+ObjectARX2002
本章所有的程序都有一个问题,可做如下修改:
1)将DocData.h中以下语句(拷贝构造函数声明)删除:
CDocData(const CDocData &data) ;
2)将DocData.cpp中以下语句(拷贝构造函数定义)删除:
CDocData::CDocData(const CDocData &data) { // TODO: add your own initialization. }
原因:本程序声明了拷贝构造函数,但若CDocData类添加数据成员,则拷贝构造函数定义不完善,缺少数据成员赋值语句。因书中该章所有例子未声明需深拷贝的数据成员,故拷贝构造函数可删除。
另注:我也是找了很长时间,没找到原因。偶尔一次执行了单步跟踪,发现调用了拷贝构造函数,再对比了一下书中例子,发现没有拷贝构造函数。这才发现问题所在。 |