CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

如何复制一个类实例。

楼主huapu(寒雪(老问老问题的老手!))2002-09-05 09:46:34 在 VC/MFC / 基础类 提问

我有一个类,其成员变量太多,在复制时所以如果要一一赋值,代码太长了,有没有更好的办法呢?  
    CMark*   CMyClassCopy(CMark   *pMark)  
  {  
          CMark   *pMarkDest   =   new   CMark;  
          //这里如何将pMark的内容复制给pMarkDest呢,(别说是一一赋值哟,可不可以用CopyMemory之类的东西,如果可以,又该如何用呢?)  
          ....  
   
   
          return   pMarkDest;  
  } 问题点数:20、回复次数:7Top

1 楼explorer007(KKcat)回复于 2002-09-05 10:16:10 得分 3

拷贝构造函数。。。Top

2 楼huapu(寒雪(老问老问题的老手!))回复于 2002-09-05 10:35:20 得分 0

不明白  
  我的构造函数里面是些默认值,而我要复制的其成员已经改变许多了,所以这办法没什么用.Top

3 楼huapu(寒雪(老问老问题的老手!))回复于 2002-09-05 10:43:07 得分 0

不知道通过剪贴板行不行,但是又要用自定义剪贴板格式,并且  
  要将类复制到剪贴板也不是一件容易的事Top

4 楼llwwwww(小风(我的帖子顶起来都有分,这一点你放心))回复于 2002-09-05 11:12:41 得分 3

重载operator   =Top

5 楼explorer007(KKcat)回复于 2002-09-06 14:11:43 得分 3

没错   所以需要拷贝构造函数   不是构造函数   :)Top

6 楼zeroweb()回复于 2002-09-06 14:22:07 得分 3

重载operator   =  
  Top

7 楼codemon(珍爱生命,远离美女)回复于 2002-09-06 14:41:01 得分 8

//拷贝构造函数  
  CMark::CMark(const   CMark&   mark)  
  {  
    ....  
    //一一赋值  
    ....  
  }  
   
   
  CMark*   CMyClassCopy(CMark   *pMark)  
  {  
          CMark   *pMarkDest   =   new   CMark(*pMark);//要保证pMark不为NULL  
          return   pMarkDest;  
  }  
  Top

相关问题

  • 如何获得类实例
  • 请问:如何定CList类实例??
  • 如何实例化一个类?
  • 如何释放实例化后的类?
  • 如何根据类型创建实例
  • 菜鸟提问:如何用脚本实现不同数据库之间的数据库实例复制。
  • 请教:如何实CSocket类的实例A=实例B?它禁止了=的重载
  • 请问:类的实例化是怎么一回事?如何进行实例化?
  • 能不能在一个类里面,复制以前保存过的一个实例到本类中来?
  • 引用类型数据如何复制?

关键词

  • 函数
  • cmark
  • pmark
  • pmarkdest
  • 复制
  • 赋值
  • 剪贴板

得分解答快速导航

  • 帖主:huapu
  • explorer007
  • llwwwww
  • explorer007
  • zeroweb
  • codemon

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo