
C++
文章平均质量分 86
万物之根
山楂树の
Always believe that something wonderful is about to happen.
展开
-
C++ 类模板
C++中的类模板允许您创建可以适用于多个类型的通用类。类模板是一种将类型参数化的方法,可以根据需要实例化为具体类型的类。类模板语法: template 类 template ---声明创建模板 typename---表面其后面的符号是一种数据类型,可以用class代替 T ---通用的数据类型,名称可以替换,通常为大写字母 模板参数列表可以包含一个或多个类型参数,用逗号分原创 2023-12-16 16:41:47 · 879 阅读 · 0 评论 -
C++ 函数模板
C++中的函数模板是一种通用的编程工具,允许您编写可以适用于不同类型的函数。函数模板是一种将类型参数化的方法,以便在需要时生成特定类型的函数。函数模板的使用:函数模板的声明使用关键字template来指示它是一个模板,后面跟着模板参数列表。使用函数模板有两种方式:自动类型推导、显示指定类型;模板参数列表可以包含一个或多个类型参数,用逗号分隔;在函数声明中,使用模板参数作为函数参数、返回类型或局部变量的类型;函数模板的定义通常放在头文件中。原创 2023-12-16 15:55:22 · 930 阅读 · 0 评论 -
C++ 多态
C++中的多态性是面向对象编程的重要特性之一,它允许不同的子类对象对同一消息做出独特的响应。C++中的多态性可以通过虚函数和继承来实现。1 静态多态性和动态多态性:静态多态性(编译时多态)是指通过函数重载和运算符重载实现的多态性,编译器在编译时根据上下文决定实际调用的函数或运算符。动态多态性(运行时多态)是指通过继承和虚函数实现的多态性,运行时根据对象的实际类型来确定调用的函数。原创 2023-12-16 14:14:48 · 991 阅读 · 0 评论 -
C++ 运算符重载
在C++中,运算符重载是一种强大的特性,允许您重新定义已定义的运算符,以便它们适用于用户自定义类型。通过运算符重载,您可以编写自定义类型的运算符行为,使得用户自定义类型的对象可以像内置类型一样进行运算。原创 2023-12-16 11:25:10 · 568 阅读 · 0 评论 -
C++ 继承
继承中构造和析构的顺序:继承中 先调用父类构造函数,再调用子类构造函数,析构顺序与构造相反。继承同名成员处理方式:子类对象可以直接访问到子类中同名成员子类对象加作用域可以访问到父类同名成员。当子类与父类拥有同名的成员函数,子类会隐藏父类中同名成员函数,加作用域可以访问到父类中同名函数。多继承中如果父类中出现了同名情况,子类使用时候要加作用域。原创 2023-12-10 21:03:22 · 910 阅读 · 0 评论 -
C++ 友元
在C++中,友元(friend)是一种特殊的访问机制,它允许类之间的非成员函数或类访问其他类的私有成员。友元提供了一种在不侵犯封装性的情况下,使外部函数或类能够与类内部进行交互的方式。全局函数做友元:友元函数(友元非成员函数):友元函数是在类外部定义的非成员函数,在类声明中使用friend关键字进行声明。友元函数可以访问该类的私有成员和受保护成员原创 2023-12-10 18:23:58 · 442 阅读 · 0 评论 -
C++:this指针
c++通过提供特殊的对象指针,this指针 指向被调用的成员函数所属的对象。this指针是隐含每一个非静态成员函数内的一种指针this指针不需要定义,直接使用即可当形参和成员变量同名时,可用this指针来区分在类的非静态成员函数中返回对象本身,可使用return *thisthis指针是一个特殊的指针,用于访问当前对象的成员。它提供了一种便捷的方式来引用当前对象的成员变量和成员函数,并解决名称冲突的问题。原创 2023-12-10 17:55:53 · 1135 阅读 · 0 评论 -
C++ 对象的初始化和清理:构造函数和析构函数
构造函数:主要作用在于创建对象时为对象的成员属性赋值,构造函数由编译器自动调用,无须手动调用。构造函数语法:类名(){}。构造函数,没有返回值也不写void。函数名称与类名相同。构造函数可以有参数,因此可以发生重载。程序在调用对象时候会自动调用构造,无须手动调用,而且只会调用一次析构函数。主要作用在于对象**销毁前**系统自动调用,执行一些清理工作。析构函数语法:~类名(){}。析构函数,没有返回值也不写void 函数名称与类名相同,在名称前加上符号 ~析构函数不可以有参数,因此不可以发生重载 程原创 2023-12-09 19:09:09 · 1194 阅读 · 0 评论 -
C++ 内存分区模型
C++的内存分区模型描述了程序在运行时如何使用系统内存。了解内存分区模型对于理解程序的内存管理和运行效率非常重要!在一般情况下,C++程序在内存中的布局可以分为以下几个主要区域:栈(Stack)栈是用于存储局部变量、函数参数、函数返回地址以及函数调用时所需的临时数据的区域。栈的大小在程序运行时是可以动态变化的,通常由系统自动管理。 栈内存的分配和释放是由系统自动完成的,遵循"先进后出"的原则。原创 2023-12-09 00:38:46 · 1363 阅读 · 0 评论 -
C++ 引用
在C++中,引用是一个允许我们创建一个别名或者称之为变量的另一个名字的概念。通过引用,我们可以通过原始变量的别名来访问原始变量的值。引用提供了对原始变量的间接访问,我们可以通过引用来读取或修改原始变量的值。引用在声明时必须初始化,并且一旦初始化完成后,它将一直引用同一个变量,无法再引用其他变量。引用在内部是通过指针来实现的,但其使用方式更类似于普通变量,因此可以简化指针的使用。函数参数中使用引用可以避免对象的拷贝,提高运行效率。引用常常用于函数返回值,允许函数返回引用指向的变量。原创 2023-12-09 00:11:23 · 876 阅读 · 0 评论