您的位置:首页 > 其它

拷贝构造函数和赋值构造函数调用次序

2009-04-08 10:37 316 查看
class CPrintElement
{
public:
KC_PRINT_TYPE kptType; ///< 要打印的元素类型
bool bHasPrint; ///< 是否打印过;初始时表示是否用来重新计算高度
char chFontName[32];///< 元素字体的名称
int iPointSize; ///< 元素字体的尺寸,已经乘过10

void *ptr; ///< 元素的指针
char **chEleName;///< 元素名称的指针数组
int iLeftSep; ///< 相对于左边的相对位置
int iTopSep; ///< 相对于上一个元素的间隔
int iCurItem; ///< 对于要打印多个项的元素,断页时的正在打印的项

int *piWidth; ///< 元素的宽度和高度
int *piHeight; ///<
int *piFormat; ///< 元素的对齐方式
public:
CPrintElement();
CPrintElement(const CPrintElement &temp);
virtual ~CPrintElement();
CPrintElement& operator =(const CPrintElement &temp);

void DeleteMem();
void InitialElement(CWnd *pWnd, KC_PRINT_TYPE printType, CString strContent,
int &iLastEleRight, int &iLastEleBottom);
};

CPrintElement::CPrintElement(const CPrintElement& temp){}

CPrintElement& CPrintElement::operator =(const CPrintElement& temp){ return *this;}

int main()

{

CPrintElement ele1; // 调用构造函数

elel1.InitialElement(.....);

CPrintElement ele2=ele1; // ele2对象不存在,所以调用拷贝构造函数,进行构造过程

ele2.InitialElement(...);

elel2=ele1; // ele2对象已经存在,进行赋值构造函数

}

调用次序如下:

构造函数

拷贝构造函数

赋值构造函数

析构函数

析构函数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐