C++
文章平均质量分 75
C++
程序员小小聪
这个作者很懒,什么都没留下…
展开
-
运算符重载
C++中的运算符(+,-,*,/,=,==,!= ...)是可以直接作用于内置类型(int/double/short ...)和标准库类型(string:只支持少数运算符)等,但是在默认情况下,运算符无法对自定义的类类型生效,但是在实际开发中,对于许多用户自定义的类型,也需要使用类似的运算操作。在C++中重新定义这些运算符,赋予已有运算符新的功能,使得运算符能够作用于特定类型(自定义类型)的特定操作(你自己添加功能的运算符),这种重新定义这些运算符的方式叫做运算符重载!例子:实现复数的相加。原创 2024-10-15 23:49:39 · 185 阅读 · 0 评论 -
this指针—静态成员—单例模式
this指针的作用域是在类成员函数的内部(因为是一个形式参数),当类的非静态成员函数访问类的成员变量时,编译器将对象自己本身的地址作为一个隐藏的参数传递给函数。但是,当我们想在程序中表示某一个对象的时候,并且这个对象永远只会存在一个,无论在哪里创建/访问都只会用到哪个唯一的实例,就会有"类只能实例化一个对象"的需求。在C++中,使用类类型创建的对象,每一个对象都有自己的地址空间,该空间中存储的是对象的非static成员变量,不存储成员函数,所有同类的对象,共享成员函数。// 两边的类型不一致。原创 2024-10-14 22:00:50 · 480 阅读 · 0 评论 -
字符串—迭代器—友元
类名叫做 string,专门用来描述字符串对象的,提供一些常用的字符串操作接口。在C语言中,是没有字符串类型的,C里面使用字符数组、字符指针表示一个字符串。cppreference // 百度查看文档。在C++标准库中,提供了一个字符串类型,实际上是一个字符串类。原创 2024-10-14 00:07:11 · 258 阅读 · 0 评论 -
类型转换和异常
/ 有问题,因为0x01020304是自己杜撰的地址,有可能不存在,有可能不能访问。传统的类型转换,功能是非常强大的,可以进行任意类型之间的类型转换(但是不能保证正确性)基类和派生类之间的转换,而且必须包含虚函数,否则编译不通过。只能用于良性转换(可以进行隐式转换的地方)dynamic_cast<目标类型>(表达式)static_cast<目标类型>(表达式)类型 变量 = (目标类型)表达式;原创 2024-10-13 17:28:56 · 442 阅读 · 0 评论 -
引用和拷贝构造函数
引用:引用即别名,是一个已存在的变量(对象)的另外一个名字,对引用的操作与对变量直接操作完全一样。01引用(reference)原创 2024-09-09 18:03:54 · 148 阅读 · 0 评论 -
构造函数和析构函数
所以,对象的初始化往往不仅仅是对成员变量的赋值那么简单,也可能还需要进行一些动态内存分配,打开文件等复杂的操作,这种情况下,我们就不能以初始化基本类型的方式来对对象进行初始化了....2. 构造函数没有返回值类型,也不能写void,可以有参数(可以重载,可以有很多个构造函数),参数可以设置默认值,不能产生二义性。不要因为构造函数的名称而认为构造函数负责为对象分配空间,构造函数在执行的时候,对象的内存空间就已经分配好了,构造函数的作用只是给成员变量赋值,初始化资源。类型 *指针名 = new 类型;原创 2024-09-09 10:09:45 · 708 阅读 · 0 评论 -
面向对象编程思想
当遇到问题的时候,先把问题本身分解为组成问题的各个对象,建立对象的目的,并不是为了完成某一个单纯的步骤,而是为了描述对象在整个问题中的属性和行为,然后发消息给各个对象,使用各个对象单独或者协同其他对象完成一系列任务。从上面的问题中,我们可以得到一个结果,面向对象和面向过程并不是相互独立的,而是相互包含的,面向对象这种思维中是包含了面向过程的,而面向过程也是可以包含面向对象的。当遇到问题的时候,先分析解决问题需要的步骤,然后使用函数把这些步骤一步一步的实现,最后依次调用这些函数,问题就解决了。原创 2024-09-08 17:28:22 · 139 阅读 · 0 评论 -
第一个C++程序
将函数定义为内联函数,编译器在编译的时候,就会将函数的函数体复制到函数的调用点,那么在函数调用的时候就不需要跳转到函数定义的地方,也不需要在函数运行完毕的时候跳转回来。在C语言中是左移运算符,在C++中依然具有左移的功能,但是我们又给它添加了新的功能(运算符重载),和 cout 这个变量放在一起,用于输出,也称为输出运算符。在C语言中是右移运算符,在C++中依然具有右移的功能,但是我们又给它添加了新的功能(运算符重载),和 cin 这个变量放在一起,用于输入,也称为输入运算符。原创 2024-09-08 01:10:01 · 557 阅读 · 0 评论