//默认复制构造函数的不足
//尽管有默认的复制构造函数来解决一般对象与对象之间的初始化问题, 但是在有些情况下我们必须手动显式的去定义复制构造函数, 例如:

#include <iostream>
using namespace std;

class Book
{
 private:
  char *book_name;

public:
  Book(const char *name)//构造函数
  {
   cout << "构造函数分配内存" << endl;
   book_name = new char[strlen(name) + 1];
   strcpy(book_name, name);
  }
  //Book(const Book & book)
  //{
   
  //}
  ~Book() //析构函数
  {
   cout << "析构函数释放内存空间" << endl;
   delete [] book_name;
  }
  void shoebook()
  {
   cout << "book_name : " << book_name << endl;
  }
  
};
int main()
{
 Book book("c++ primer plus");

Book book1(book);

book.shoebook();
 
 book1.shoebook();
 //总结缺点是析构函数会被执行两次,
 //那么对同一块堆空间会被释放两次
 
 return 0;
}

转载于:https://www.cnblogs.com/xuyh/p/3204251.html

C++类中使用new及delete小例子相关推荐

  1. 在Eclipse中写第一个hibernate小例子

    在hibernate自带的文档中,包含了一个很简单的小例子,不过这个小例子是基于ant的,而且说的不是很详细,不利于新手学习.在这里,我将在Eclipse中实现这个例子,并给出详细的实现步骤.     ...

  2. Spring中的简单实现AOP小例子

    先说一下相应的知识作铺垫 Spring的AOP术语:          1)连接点(JointPoint):目标对象的每个方法     2)切入点(PontCut):切入了服务代码的连接点     3 ...

  3. 关于MSSQL存储过程中使用游标的一个小例子(学习)

    声明:本例转自http://hi.chinaunix.net/?214950/viewspace-1713,主要是为了学习之用 比如有个表,内容如下 id,text 1,春花秋月何时了 2,往事知多少 ...

  4. java遍历本地文件夹_JAVA遍历一个文件夹中的所有文件的小例子

    import java.io.File; import java.util.ArrayList; public class FileTest { private static ArrayList fi ...

  5. C# 文本操作类 Trim() 和Replace()的用法小例子

    如果传过来的account 的值是,user1,user2,user3,user4, string filter = "Account IN ('" + account.ToStr ...

  6. pl/sql 中变量定义范围的小例子:

    开始 set serveroutput on; <<outer>>DECLAREbirthdate DATE;BEGINbirthdate:=TO_DATE('2012-05- ...

  7. 在java中改变圆半径_java小例子:打印一个近似圆,要求根据给定半径圆的大小随之发生改变...

    如题:通过API文档查询Math类方法,打印如下所示的近似圆,只要给定不同的半径,圆的大小随之发生改变. import java.lang.Math; public class MathDraw { ...

  8. python装饰器实例-基于Python 装饰器装饰类中的方法实例

    title: Python 装饰器装饰类中的方法 comments: true date: 2017-04-17 20:44:31 tags: ['Python', 'Decorate'] categ ...

  9. Java基础。public,private,static变量!以及一个实例化的小例子 以及方法

    public,适用范围最广! private,仅仅方法内部可以使用!创建出来的对象也是不可以使用的! 代码: public class mmm12333 {public int a = 1111;pr ...

最新文章

  1. 大三Java实习总结网易百度小米美团阿里(均拿offer)
  2. 关闭页面时执行“退出”的解决方案
  3. 解决fatal: No remote repository specified. Please, specify either a URL...
  4. 如何在SAP云平台上创建Redis实例
  5. MySQL coalesce()函数
  6. quartz中的corn表达式(转)
  7. 数据结构括号匹配代码_栈:如何实现有效括号的判断?
  8. python找不到文件数据_如何用 Python 正确读取资源文件
  9. DTNSim.java注释摘要(学习性质,有错漏的可能,红色为不明确部分)
  10. 从Java到C++——常量的使用规则
  11. Aubo i5真机 ros - melodic 版驱动下载 [ 驱动下载 ]
  12. Html5 + fromData + Spring MVC 单文件、多文件上传
  13. unix下source的使用
  14. udacity 的如何使用git课程终于找出merge master和coins时候的问题了
  15. 求最大李雅普诺夫指数(Largest Lyapunov Exponents,LLE)的 Rosenstein 算法
  16. EMD基础学习---emd例子
  17. 实验四 201771010101 白玛次仁
  18. 极限交付:软件项目外包成功的保障
  19. C++类的多种构造函数
  20. Linux 笔记 - 第十一章 正则表达式

热门文章

  1. html中加入超链接方式的汇总
  2. 网站建设——从无到有
  3. LNK1000: Internal error during IncrBuildImage 链接错误解决方法
  4. net中一些所封装的类
  5. 移动端ios滚动卡顿问题
  6. nagios监控cfg模块
  7. VC 6.0 + SP6 下载 及 安装详细说明
  8. Oracel中连接的总结(一)
  9. Back 键与Home键
  10. ContactsContract.Contacts与ContactsContract.CommonDataKinds.Phone的区别