Prince's Diary

王子日记
  博客园  :: 首页  :: 新随笔  :: 联系 :: 管理

文章分类 -  C/C++

摘要:有了malloc/free为什么还要new/delete ? malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在... 阅读全文

posted @ 2005-11-08 14:56 William 阅读(1062) 评论(3) 推荐(0)

摘要:我们把一个仅仅含有纯虚函数的类称为接口,我们也好像已经习惯了将这个接口中的所有纯虚函数全声明为public,而且按照这样的设计,一切都工作得不错。比如COM正是这样做的,它的接口中几乎不会存在private的纯虚函数。那么,让我们想一想,纯虚函数或者虚函数可以为private吗?如果这种方式是可行的,那么什么时候可以将(纯)虚函数设为private了?这些都是本文将要讨论的主题。一起来看看。一.... 阅读全文

posted @ 2005-11-06 22:30 William 阅读(729) 评论(0) 推荐(0)

摘要:一.简介 虚函数是C++中用于实现多态(polymorphism)的机制。核心理念就是通过基类访问派生类定义的函数。假设我们有下面的类层次:class A{public:virtual void foo() { cout foo(); // 在这里,a虽然是指向A的指针,但是被调用的函数(foo)却是B的! 这个例子是虚函数的一个典型应用,通过这个例子,也许你就对虚函数有了一些概念。它虚就虚在... 阅读全文

posted @ 2005-11-06 22:20 William 阅读(392) 评论(0) 推荐(0)

摘要:为了不模糊概念在这里我们就简单的阐述一下类的分解,前面的教程我们着重讲述了类的继承,继承的特点就是,派生类继承基类的特性,进行结构扩张,这种逐步扩张,逐步在各派生类中分解彼此不同特性的过程其实就是类的分解。 分解过程笔者在这里不想再拿代码进行过多阐述分析了,意思说到,对于逐步分解,逐步扩张的思想就靠大家自己思考了。 拿前面交通工具类的程序进行思考,由交通工具派生出来的汽车类,飞机类,是具备... 阅读全文

posted @ 2005-11-06 21:59 William 阅读(199) 评论(0) 推荐(0)