上一篇中我给各位说了一般人认为C++中较为难的东西——指针。其实对于C++,难点当然不局限在指针这玩意儿上,还有一些有趣的概念,如模板类、虚基类、纯虚函数等,这些都是概念性的东西,几乎每一本C++书上都会介绍,而平时我们除了会接触到纯虚函数外,其他的不多用。纯虚函数,你可以认为与C#中的抽象方法或接...
分类:
其他好文 时间:
2014-10-06 14:51:10
阅读次数:
261
一.C++中的泛型编程
--- 函数模板
--- 提供一种特殊函数可用不同类型进行调用
--- 类型可以被参数化
template
void Swap(T& a,T& b)
{
T t=a;
a = b;
b = t;
}
说明: -template 关键字用于声明开始泛型编程
-typename 关键字用于声...
分类:
其他好文 时间:
2014-10-06 13:20:22
阅读次数:
200
1.解析一个正确的模板类 (1)首先,我们想创造一个模板,可以先针对一个特定的类型参数设计它的行为方式,然后在对抽象的一般类型进行推广。例如我们可以先设计String类的具体实现,然后再推广到String类模板。 (2)类模板的名字是不能重载的。所以,如果在某个作用域内声明了一个类模板,就不能有.....
分类:
编程语言 时间:
2014-10-01 14:08:31
阅读次数:
268
由于将函数和类模板放在一块篇幅较大,我们今天将其拆分为两篇博文。上篇博文我们讨论了函数模板的简单应用,本篇我们继续讨论模板的另一板块--类模板。1)、作用:类模板类似于代码产生器,根据用户输入的类型不同,产生不同的class;2)、编译: a):检查模板class 的自身语法; b):根据用户指定的...
分类:
编程语言 时间:
2014-09-30 10:53:52
阅读次数:
416
本博文主要讨论函数模板与类模板以及其简单应用。1)、作用:函数模板和类模板都可以看做是一种代码产生器,往里面放入具体的类型,得到具体化的函数或者class。2)、编译(分为两步):a):实例化之前,先检查模板本身语法是否正确;b):根据 函数调用或者类模板调用,先去实例化模板代码,产生具体的函数/类...
分类:
编程语言 时间:
2014-09-30 04:01:12
阅读次数:
401
表结构设计器(EZDML)是一个免费的数据库建表的小软件,可快速的进行数据库表结构设计,建立数据模型,能迅速生成代码模板、简单界面和字典文档,支持脚本编程。新版本支持导出WORD,特殊拷贝功能,实体颜色自定义, PASCAL脚本页面模板(类似JSP和ASP)等...
分类:
其他好文 时间:
2014-09-29 18:34:21
阅读次数:
186
template
class priority_queue
注意,priority_queue是一个模板类,它的定义形式如上;其中,它的每一个参数也是一个类,这里我们主要解释一下Compare 参数。
其中,Compare 参数是一个...
分类:
其他好文 时间:
2014-09-27 01:00:59
阅读次数:
141
在C++中,智能指针是一个非常重要的概念。因为C++的类动态分配的对象不能自动释放掉,需手动调用new运算符。当程序员大意时,或程序发生异常时,或许就会发生没有手动释放内存而造成内存泄露。
智能指针的定义:就是在一个类中,存在一个指向另一个类对象的指针,并通过对指针运算符(比如:->,*)的重载,就可以实现利用当前类的对象通过指针运算符来操纵另一个类的成员(就像另一个类的指针操作一样),并且,在析构函数中定义了delete操作,借助于变量的作用域,能够实现类对象空间的自动释放。
在C++ 11中,有...
分类:
编程语言 时间:
2014-09-25 17:04:39
阅读次数:
212
vector容器类型
vector容器是一个模板类,可以存放任何类型的对象(但必须是同一类对象)。vector对象可以在运行时高效地添加元素,并且vector中元素是连续存储的。
vector的构造
函数原型:
template
explicit vector(); // 默认构造函数,vector对象为空
...
分类:
编程语言 时间:
2014-09-22 15:22:32
阅读次数:
243
(一)
注意从 “面向对象的C++” 转向 “模板C++” 时继承可能遭遇问题 :由于基类模板可能被特化,而该特化版本可能会改变成员,因此C++拒绝在模板化基类中寻找继承而来的名称。
(二)
看下面的例子:
假设将信息传送到不同的公司去,传送方式包括明文传送和密文传送,采用模板类的设计方法:
class CompanyA {
public:
...
void sendCl...
分类:
编程语言 时间:
2014-09-20 16:10:39
阅读次数:
163