C++面向对象:继承

通过继承机制,可以利用已有的数据类型来定义新的数据类型。所定义的新的数据类型不仅拥有新定义的成员,而且还同时拥有旧的成员。 基类负责定义所有类共同拥有的成员,而每个派生类定义各自特有的成员。 继承格式 单继承: class <派生类名> : <继承权限> <基类名> {...

阅读更多

C++面向对象:封装

封装的核心思想是信息隐藏。通过将类的内部状态设为私有(private),并提供公有(public)的接口来访问和修改这些状态。 访问修饰符 public:公有成员,可以在类的任何地方被访问。作为类的接口,供外部使用者调用。 private:私有成员,只能在类的内部被访问。派生类和外部代码都不能直接访...

阅读更多

C++关键字-new

new在C++中主要有3种用法: new operator:也叫做new表达式,它调用operator new进行内存分配,并调用构造函数初始化对象。 placement new:是一个特殊的new表达式,它不进行内存分配,而是在已分配好的内存上调用构造函数初始化对象。 operator new: ...

阅读更多

C++关键字-delete

delete关键字和new关键字类似,主要有以下用法: delete表达式 operator delete 禁用函数 delete表达式 delete ptr 调用ptr所指向对象的析构函数。 调用operator delete()函数来释放ptr所指向的内存。 delete[]...

阅读更多

C++面向对象:类

类的定义 C++关键字-struct和class 类的构造函数和析构函数 构造函数 类的拷贝控制 类的拷贝控制 友元 见友元 类的核心特性之封装 见C++面向对象:封装 类的核心特性之继承 见C++面向对象:继承 见C++面向对象:多重继承 类的核心特性之多态 见C++面向对象:多态 this指针...

阅读更多

构造函数

定义 构造函数是类的成员函数,其名称与类相同。 构造函数没有返回值。 创建对象时会自动调用构造函数。 构造函数不能被声明为虚拟的。 默认的构造函数 如果没有显式定义任何构造函数时,则编译器会隐式的生成 默认构造函数(Default Constructor)。 拷贝构造函数(C...

阅读更多

拷贝控制

拷贝控制指的是一个类如何管理其对象的 拷贝 移动 赋值 销毁 拷贝控制由以下五个特殊的成员函数组成: 拷贝构造函数 拷贝赋值运算符 移动构造函数 移动赋值运算符 析构函数 拷贝控制的核心问题是资源管理,如果一个类不管理任何资源,那么编译器生成的默认版本通常就足够了。...

阅读更多

智能指针之weak_ptr

std::weak_ptr 要与 std::shared_ptr一起搭配使用。 一个std::weak_ptr对象看做是std::shared_ptr对象管理的资源的观察者,它不影响共享资源的生命周期: 如果需要操作weak_ptr正在观察的资源,可以将weak_ptr提升为shared_ptr。 当...

阅读更多