摘要:
静态成员 静态成员:被static修饰的成员变量\函数 可以通过对象(对象.静态成员)、对象指针(对象指针->静态成员)、类访问(类名::静态成员) 静态成员变量 存储在数据段(全局区,类似于全局变量),整个程序运行过程中只有一份内存 对比全局变量,它可以设定访问权限(public、protecte 阅读全文
摘要:
多继承 C++允许一个类可以有多个父类(不建议使用,会增加程序设计复杂度) using namespace std; class Student { public: int m_score; Student(int score = 0) :m_score(score) { } void study( 阅读全文
摘要:
对象类型作为函数的参数或者返回值, 使用对象类型作为函数的参数或者返回值,可能会产生一些不必要的中间对象 class Car { int m_price; public: Car(int price = 0) :m_price(price) { cout << "Car(int) - " << th 阅读全文
摘要:
多态 默认情况下,编译器只会根据指针类型调用对应的函数,不存在多态 多态是面向对象非常重要的一个特性 同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果 在运行时,可以识别出真正的对象类型,调用对应子类中的函数 多态的要素 子类重写父类的成员函数(override) 父类指针指向子类对象 阅读全文
摘要:
初始化列表 特点 一种便捷的初始化成员变量的方式 只能用在构造函数中 初始化顺序只跟成员变量的声明顺序有关 struct Person { int m_age; int m_height; Person() { this->m_age = 0; this->m_height = 0; } // 初始 阅读全文
摘要:
声明和实现分离 #pragma once // 声明 .h 头文件 class Person { int m_age; public: Person(); ~Person(); void setAge(int age); int getAge(); }; #include "Person.h" #i 阅读全文
摘要:
构造函数 构造函数(也叫构造器),在对象创建的时候自动调用,一般用于完成对象的初始化工作 特点 函数名与类同名,无返回值(void都不能写),可以有参数,可以重载,可以有多个构造函数 一旦自定义了构造函数,必须用其中一个自定义的构造函数来初始化对象 注意 : 通过malloc分配的对象不会调用构造函 阅读全文
摘要:
内存 内存空间的布局 每个应用都有自己独立的内存空间,其内存空间一般都有以下几大区域 代码段(代码区) 用于存放代码 数据段(全局区) 用于存放全局变量等 栈空间 每调用一个函数就会给它分配一段连续的栈空间,等函数调用完毕后会自动回收这段栈空间 自动分配和回收 堆空间 需要主动去申请和释放 堆空间 阅读全文
摘要:
类 C++中可以使用struct、class来定义一个类 struct和class的区别 struct的默认成员权限是public class的默认成员权限是private struct Person { int m_id; int m_age; int m_height; void display 阅读全文
摘要:
引用的本质 引用的本质就是指针,只是编译器削弱了它的功能,所以引用就是弱化了的指针 一个引用占用一个指针的大小 常引用 引用可以被const修饰,这样就无法通过引用修改数据了,可以称为常引用 const必须写在&符号的左边,才能算是常引用 const引用的特点 可以指向临时数据(常量、表达式、函数返 阅读全文