摘要: # 隐式类型转换(implicit conversion) 如果一个值被拷贝到另一个兼容类型中,隐式类型转换会自动执行(**注意对象 指针 引用的区别**)。比如 ```c++ short a=2000; int b; b=a; ``` a的值从short被提升到int,这个过程不需要显式的转换,这 阅读全文
posted @ 2023-06-04 18:52 xiaoweing 阅读(34) 评论(0) 推荐(0)
摘要: 定义变量使用的内存在程序运行前就确定了,有些时候我们希望能在运行期得到内存,可以使用操作符new和delete # new和new[] new操作符可以分配动态内存,new后面需要跟着数据类型,如果需要多个该数据类型的元素,还需加上方括号,这个操作符返回的是新分配内存的头指针,语法是`pointer 阅读全文
posted @ 2023-05-29 10:27 xiaoweing 阅读(69) 评论(0) 推荐(0)
摘要: 使用函数,可以独立完成代码任务 在c++中,函数是指有名字的语句组,可以被程序的其他点调用 最常见的定义函数语法为(也可以使用lambda表达式和重载调用操作符) `type name ( parameter1, parameter2, ...) { statements }` type是返回值类型 阅读全文
posted @ 2023-05-28 18:02 xiaoweing 阅读(30) 评论(0) 推荐(0)
摘要: 在前面的章节中,变量被解释为计算机内存中的位置,可以通过其标识符(名称)访问这些位置。这样,程序就不需要关心内存中数据的物理地址;只要需要引用变量,它就简单地使用标识符。 对于C++程序来说,计算机的内存就像一系列的存储单元,每个存储单元的大小都是一个字节,并且每个存储单元都有一个唯一的地址。这些单 阅读全文
posted @ 2023-05-27 15:42 xiaoweing 阅读(120) 评论(0) 推荐(0)
摘要: # 重载函数 C++允许两个函数同名,只要参数不同,数目或类型不同都行,就不会编译报重定义的错误 ```c++ // overloading functions #include using namespace std; int operate (int a, int b) { return (a* 阅读全文
posted @ 2023-05-26 10:30 xiaoweing 阅读(31) 评论(0) 推荐(0)
摘要: # 多态(Polymorphism) 学习本章之前,需要正确理解指针和继承,如果忘记下面表达式的含义,需要回顾之前的章节 ![](https://img2023.cnblogs.com/blog/1537115/202305/1537115-20230525135107746-373845193.j 阅读全文
posted @ 2023-05-25 14:57 xiaoweing 阅读(32) 评论(0) 推荐(0)
摘要: # 友元函数(Friend functions) 原则上,private和protected成员不能在声明的类外被使用,然而这条规则不适用于友元 友元是用friend关键字声明的函数或者说类 如果一个非成员函数声明成一个类的友元,那么它可以访问private和protected。这可以通过在类里添加 阅读全文
posted @ 2023-05-24 15:18 xiaoweing 阅读(105) 评论(0) 推荐(0)
摘要: # 特殊成员 特殊成员函数是那些在特定情况被隐式定义的成员函数:默认构造、析构、拷贝构造、拷贝赋值、移动构造、移动赋值(**注意构造和赋值的区别,只要是内存有没有新增**),让我们逐个学习一下 ![](https://img2023.cnblogs.com/blog/1537115/202305/1 阅读全文
posted @ 2023-05-23 16:12 xiaoweing 阅读(50) 评论(0) 推荐(0)
摘要: # 操作符重载 本质上,类就是在C++代码里定义了新的类型,在代码中,类型不仅用来构造和赋值,还可以用操作符进行运算,考虑基础类型的加减乘除 ```c++ int a, b, c; a = b + c; ``` 上面这个例子用了加法操作符和赋值操作符,对于基础类型,这些操作的含义非常显而易见且无歧义 阅读全文
posted @ 2023-05-22 18:16 xiaoweing 阅读(9) 评论(0) 推荐(0)
摘要: # 类(Class) 类是struct的扩展概念:就像struct一样,类可以包含数据成员,也可以包含函数成员。 对象(object)是类的实例,参考变量的概念,类就相当于类型,对象相当于变量。 可以通过关键字class或struct定义类(**区别在于默认的访问权限,目的是保持c++兼容c,所以c 阅读全文
posted @ 2023-05-19 15:07 xiaoweing 阅读(40) 评论(0) 推荐(0)