C++ 模板简介
摘要:泛型程序设计(generic programming)是一种算法在实现时不指定具体要操作的数据的类型的程序设计方法。所谓“泛型”指的是算法只要实现一遍,就能适用于多种数据类型。泛型程序设计方法的优势在于能够减少重复代码的编写。最成功的应用就是 C++ 的标准模板库(STL)。在 C++ 中,模板分为
阅读全文
Windows核心编程--进程简介
摘要:进程通常被定义为一个正在运行的程序的实例,它由两个部分组成: ①一个是操作系统用来管理进程的内核对象。内核对象也是系统用来存放关于进程的统计信息的地方。 ②另一个是地址空间,它包含所有可执行模块或DLL模块的代码和数据。它还包含动态内存分配的空间。如线程堆栈和堆分配空间。 要使进程完成某项操作,它必
阅读全文
C++纯虚函数和抽象类
摘要:在C++中,可以将虚函数声明为纯虚函数,语法格式为: virtual 返回值类型 函数名 (函数参数) = 0; 纯虚函数没有函数体,只有函数声明,在虚函数声明的结尾加上=0,表明此函数为纯虚函数。最后的=0并不表示函数返回值为0,它只起形式上的作用,告诉编译系统“这是纯虚函数”。包含纯虚函数的类称
阅读全文
C++多态和虚函数
摘要:为了让基类指针能够访问派生类的成员函数,C++增加了虚函数(Virtual Function)。使用虚函数非常简单,只需要在函数声明前面增加 virtual 关键字。有了虚函数,基类指针指向基类对象时就使用基类的成员(包括成员函数和成员变量),指向派生类对象时就使用派生类的成员。换句话说,基类指针可
阅读全文
C++将派生类赋值给基类
摘要:将派生类赋值给基类,即向上转型。在C/C++中数据类型转换的前提是,编译器知道如何对数据进行取舍。类其实也是一种数据类型,也可以发生数据类型转换,不过这种转换只有在基类和派生类之间才有意义,并且只能将派生类赋值给基类,包括将派生类对象赋值给基类对象、将派生类指针赋值给基类指针、将派生类引用赋值给基类
阅读全文
C++虚继承和虚基类
摘要:多继承时很容易产生命名冲突,即使小心地将所有类中的成员变量和成员函数都命名为不同的名字,命名冲突依然有可能发生,比如典型的是菱形继承,如下图所示: 类 A 派生出类 B 和类 C,类 D 继承自类 B 和类 C,这个时候类 A 中的成员变量和成员函数继承到类 D 中变成了两份,一份来自ABD,一份来
阅读全文
C++继承和派生
摘要:C++中的继承是类与类之间的关系。继承(Inheritance)可理解为一个类从另一个类获取成员变量和成员函数的过程。在C++中,派生(Derive)和继承是一个概念,只是参照物不同。被继承的类称为父类或基类,继承的类称为子类或派生类。“子类”和“父类”通常放在一起称呼,“基类”和“派生类”通常放在
阅读全文