OOP
文章平均质量分 54
sinapme
这个作者很懒,什么都没留下…
展开
-
c++的句柄(一)
句柄来源于这样的需求:想把一个继承层次的对象装在一个容器里,显然不能用基类的数组,也不能用基类的数组指针,因为用基类的数组指针无法解决容器中存在多个identical对象的情况【多个指针指向同一个对象,那么删除这个对象后指针指向何处呢?或者这些和对象关联的指针都被指向别的地方了,那么这个对象的内存就泄露了】,而且未初始化的指针是很危险的,因此要考虑封装指针,使其成为不容易出错又好用的智能指针。解决原创 2013-09-24 10:16:10 · 1907 阅读 · 0 评论 -
拷贝构造与深拷贝
对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=88;int b=a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。#include using namespace std;class CExample {private: int a;public: CExampl转载 2013-12-20 15:58:27 · 431 阅读 · 0 评论 -
类的成员指针(对比于c语言中的函数指针)
class Screen { public: typedef std::string::size_type index; char get() const; char get(index ht, index wd) const; private: std::string contents; index cursor; index height, width; }; 成员指针定义为原创 2013-12-05 17:49:50 · 531 阅读 · 0 评论 -
cpp中的句柄 (二)
如果希望用容器来保存因为继承而相关联的对象,若定义基类的容器,则当派生类被计入到容器中时,非基类部分将被切掉。为了解决这个问题,定义句柄。C++真正实现容器的面向对象无法通过对象本身,而必须通过指针或者引用。Handle类又称为cover类。句柄类用来存储和管理基类的指针。指针所指对象的类型可以变化,它既可以指向基类类型对象又可以指向派生类的对象。用户通过句柄类访问继承层次的操作。因为句柄类使原创 2013-12-05 14:44:36 · 670 阅读 · 0 评论 -
函数类function object
struct absInt { int operator() (int val) { return val }}; class Funclass { public: Funclass(){}; bool operator()(CStr& mcstr) { std::cout return true; }翻译 2013-11-30 16:14:01 · 455 阅读 · 0 评论 -
拷贝构造与深拷贝
对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=88;int b=a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。#include using namespace std;class CExample {private: int a;public: CExampl转载 2014-02-20 16:03:53 · 535 阅读 · 0 评论