
C++
文章平均质量分 64
绿野耕夫
一无所有时,还有编程
展开
-
虚函数
定义: 在某基类中声明为virtual并在一个活多个派生类中被重新定义的成员函数.语法: virtual 函数返回类型 函数名(参数表) {函数体}用途: 实现多态性,通过指向派生类的基类指针,访问派生类中同名覆盖成员函数 虚函数必须是基类的非静态成员函数,其访问权限可以是protected或public,在基类的类定义中定义虚函数的一般形式: cla原创 2012-09-03 23:56:15 · 887 阅读 · 0 评论 -
模板之特化与偏特化
C++模板C++模板提供了对逻辑结构相同的数据对象通用行为的定义。这些模板运算对象的类型不是实际的数据类型,而是一种参数化的类型。C++模板分为类模板和函数模板那。 类模板示例:template <class T>class TClass{public: ...private: T member;};函数模板示例:template &am原创 2018-09-14 15:19:34 · 1104 阅读 · 1 评论 -
STL六大组件
STL提供六大组件、彼此可以组合套用:容器(container):各种数据结构,如vector,list,deque,set,map用来存放数据。从实现的角度来看,STL是一种class template。算法(algorithms):各种常用算法如sort,search,copy,erase…。从实现的角度来看, STL算法是一种function template。迭代器(iterat...原创 2018-09-10 19:59:29 · 366 阅读 · 0 评论 -
new、placement new、delete、placement delete
new表达式c++提供了new关键字和delete关键字,分别用于申请和释放内存空间,其中new表达式的语法如下:new new-type-id (optional-initializer-expression-list)new表达式做两件事情:在堆(heap)上申请一块空间,大小等于sizeof(new-type-id)在申请的空间上构建对象,即调用对象的构造函数new...原创 2018-09-12 15:16:54 · 809 阅读 · 0 评论 -
设计模式-------Singleton模式
Singleton是全局变量的一种取代策略。意图: 保证一个类仅有一个实例,并提供一个访问它的全局访问点。实现:Singleton.h:class Singleton{public: static Singleton* Instance(); int TestFunc() {return 1;}protected: Singleton(原创 2012-10-30 15:43:21 · 770 阅读 · 0 评论 -
类中特殊成员变量的初始化
参考自:http://blog.youkuaiyun.com/shandianling/article/details/8136003http://blog.youkuaiyun.com/shexinwei/article/details/7050034有些成员变量的数据类型比较特别,它们的初始化方式也和普通数据类型的成员变量有所不同。这些特殊的类型的成员变量包括:a. 常量型成员变量b.原创 2014-12-10 15:13:30 · 723 阅读 · 0 评论 -
cpp沉思录笔记1---类设计者的核查表
你的类需要一个构造函数吗?简单的类不需要构造函数,他们的结构就是他们的接口。你的数据成员是私有的吗?你的类需要一个无参的构造函数吗?如果一个类已经有了构造函数,而你想声明该类的对象可以不必显式地处时候它们,则必须显式地写一个无参的构造函数。是不是每个构造函数初始化所有数据成员?构造函数的用途就是用一种明确定义的状态来设置对象。对象的状态由对象的数据成员反应。因此,每个构造函原创 2014-08-28 13:52:39 · 938 阅读 · 0 评论 -
static类成员
1. 通常,非static数据成员存在于类类型的每个对象中。而static数据成员独立于该类的任意对象而存在,每个static数据成员是与类关联的对象,而不是与该类的对象相关联。2. 类可以定义共享的static数据成员,类也可以定义static成员函数。static成员函数没有this形参,它可以直接访问所属类的static成员,但不能直接访问使用非static成员。3. 定义stati原创 2012-10-28 11:59:26 · 2756 阅读 · 0 评论 -
UML用户指南笔记1-------对基本结构建模
UML包含13种图:1. 类图(class diagram). 类图展现了一组类、接口、协作和它们之间的关系。构件图是类图的变体。2. 对象图(object diagram). 对象图展现了一组对象以及它们之间的关系。对象图描述了在类图中所建立的事物的实例的静态快照。3. 构件图(component diagram). 构件图展现了一个封原创 2012-09-25 22:44:42 · 2155 阅读 · 0 评论 -
复制控制
当定义一个新类型的时候,需要显式或隐式地指定复制,赋值和撤销该类型的对象时会发生什么----这是通过定义特殊成员:复制构造函数,赋值操作符和析构函数来达到的.如果没有显式定义复制构造函数或赋值操作符,编译器通常会为我们定义.复制构造函数:是一种特殊的构造函数,具有单个形参,该形参(常用const修饰)是对该类型的引用.当定义一个新对象并用一个同类型的对象对它进行初始化时,将显式使用复制构造函数原创 2012-09-20 22:41:30 · 1058 阅读 · 0 评论 -
模板与泛型编程
一,模板定义:1. 定义函数模板:模板定义以关键字template开始,后接模板形参表,模板形参表是用尖括号括住的一个或多个模板形参的列表,形参间以逗号分隔,模板形参表不能为空:template int compare(const T &v1, const T &v2){ if (v1 < v2) return -1; if (v2 < v1) return 1;原创 2012-09-15 14:11:19 · 1160 阅读 · 0 评论 -
STL常用算法
简介STL算法部分主要由头文件, , 组成。要使用STL中的算法函数,必须包含头文件,对于数值算法必须包含。中则定义了一些模板类,用来声明函数对象(又名仿函数)。STL中算法大致分为四类:非变易算法:指不直接修改其所操作的容器内容的算法。变易算法:指可以修改它们所操作的容器内容的算法。排序算法:包括对序列进行排序和合并的算法、搜索算法以及有序序列上的集合操作。数值算法:对容器内容进行...原创 2018-09-21 19:09:03 · 391 阅读 · 0 评论