通过继承机制,可以利用已有的数据类型来定义新的数据类型。所定义的新的数据类型不仅拥有新定义的成员,而且还同时拥有旧的成员。
基类负责定义所有类共同拥有的成员,而每个派生类定义各自特有的成员。
继承格式
单继承:
class <派生类名> : <继承权限> <基类名> {...
    阅读更多
 
    
    
    封装的核心思想是信息隐藏。通过将类的内部状态设为私有(private),并提供公有(public)的接口来访问和修改这些状态。
访问修饰符
  public:公有成员,可以在类的任何地方被访问。作为类的接口,供外部使用者调用。
  private:私有成员,只能在类的内部被访问。派生类和外部代码都不能直接访...
    阅读更多
 
    
    
    new在C++中主要有3种用法:
  new operator:也叫做new表达式,它调用operator new进行内存分配,并调用构造函数初始化对象。
  placement new:是一个特殊的new表达式,它不进行内存分配,而是在已分配好的内存上调用构造函数初始化对象。
  operator new: ...
    阅读更多
 
    
    
    delete关键字和new关键字类似,主要有以下用法:
  delete表达式
  operator delete
  禁用函数
delete表达式
delete ptr
  调用ptr所指向对象的析构函数。
  调用operator delete()函数来释放ptr所指向的内存。
delete[]...
    阅读更多
 
    
    
    类的定义
C++关键字-struct和class
类的构造函数和析构函数
构造函数
类的拷贝控制
类的拷贝控制
友元
见友元
类的核心特性之封装
见C++面向对象:封装
类的核心特性之继承
见C++面向对象:继承
见C++面向对象:多重继承
类的核心特性之多态
见C++面向对象:多态
this指针...
    阅读更多
 
    
    
    定义
  构造函数是类的成员函数,其名称与类相同。
  构造函数没有返回值。
  创建对象时会自动调用构造函数。
  构造函数不能被声明为虚拟的。
默认的构造函数
如果没有显式定义任何构造函数时,则编译器会隐式的生成
  默认构造函数(Default Constructor)。
  拷贝构造函数(C...
    阅读更多
 
    
    
    拷贝控制指的是一个类如何管理其对象的
  拷贝
  移动
  赋值
  销毁
拷贝控制由以下五个特殊的成员函数组成:
  拷贝构造函数
  拷贝赋值运算符
  移动构造函数
  移动赋值运算符
  析构函数
拷贝控制的核心问题是资源管理,如果一个类不管理任何资源,那么编译器生成的默认版本通常就足够了。...
    阅读更多
 
    
    
    std::weak_ptr 要与 std::shared_ptr一起搭配使用。
一个std::weak_ptr对象看做是std::shared_ptr对象管理的资源的观察者,它不影响共享资源的生命周期:
  如果需要操作weak_ptr正在观察的资源,可以将weak_ptr提升为shared_ptr。
  当...
    阅读更多