C++类中的静态成员有一个非常好的功能,那就是无论类定义了多少个对象,这些对象始终都共同使用这一个静态成员 例如: class A{ static int num; A(){num++}
在没有讲述本章内容之前假如我们想要在一个范围内共享某一个数据,那么我们会设立全局对象,但面向对象的程序是由对象构成的,我们如何才能在类范围内共享数据呢? 这个问题便是本章的重点:
smart pointers(智能指针)是行为很像指针但是增加了指针没有提供的功能的 objects。例如,《C++箴言:使用对象治理资源》阐述了标准 auto_ptr 和 tr1::shared
继承和对象净增长 C++中类的继承,是具有净增长效果的。如果基类是Base,继承类是Derived,那么创建 一个Derived类的实例b,在地址空间上,b的前面部分,刚好可以视为另一个Base的实例
一个简单的class T class T { public: T() { value = 0x12345678; } ~T() { value = 0; }
一.简介 虚函数是C++中用于实现多态(polymorphism)的机制。核心理念就是通过基类访问派生类定义的函数。假设我们有下面的类层次: class A { public: virtual voi
有如下一个简单的复数类: class ClxComplex { public: ClxComplex(double dReal = 0.0, double dImage = 0.0) { m
#include <iostream> #include <cmath> using namespace std; int main() { double pi,
我谈到让一个类支持隐式类型转换通常是一个不好的主意。当然,这条规则有一些例外,最普通的一种就是在创建数值类型时。例如,假如你设计一个用来表现有理数的类,答应从整数到有理数的隐式转换看上去并非不合理
从这部分开始我们除了利用内存的信息打印来进行探索外,更多的会通过跟踪和观察编译器产生的汇编代码来理解编译器对这些语言特性的实现方式。汇编方面知识的讨论超出了本文的范围,我只对和我们讨论相关的汇编代码进