因为有时候需要在不同设备编辑同一份文档,本地不太方便了,先在放着博客园比较省事吧。
但是博客园是不是快要四了啊,没事再整一个个人博客吧。
内容非常杂,因为不想去上课所以还是有点东西不会,就记录一下查不会东西的时候学会的东西。没什么参考价值。
Class
https://www.runoob.com/cplusplus/cpp-classes-objects.html
大纲
定义成员函数,(无论public/private都可以在内部/外部定义)
范围 public,private,protected
pub,pri,pro三种类的继承
构造函数,析构函数,拷贝函数
1.构造函数可以用列表方法/常规方法
常规
列表
2.拷贝函数使用时机:
1.使用一个已经创建完毕的对象来初始化一个新对象(就是直接用类赋值给另一个类);
2.值传递的方式给函数参数传值;
3.以值方式返回局部对象(比如一个函数返回的类型是这个类)。
总之就是需要用到赋值的时候,都必须有拷贝函数
函数参数为 对象的引用时,不会调用拷贝构造函数:
又悟了一些,原来是要配合析构函数才用拷贝函数。
this指针:只是更明确的说明是访问类的成员,避免重名。
深浅拷贝
默认是浅拷贝,写了拷贝函数可以深度拷贝。
浅拷贝是创建一系列新的对象使得值和原对象完全相同,包括指针的值,这就使得如果类内有指针成员,拷贝前后的指针虽然不同(指针的地址不同),但是指针指向的地址相同。
深拷贝对于指针类成员来说,拷贝前后的指针不同(指针的地址不同),但是指针指向的地址也不同。
其实浅拷贝是保证指针的值相同,深拷贝只保证了指针指向的数据的值相同。
引用类型变量&
https://blog.csdn.net/Jiangtagong/article/details/109227756
const 进阶
https://blog.csdn.net/xingjiarong/article/details/47282255
https://blog.csdn.net/as480133937/article/details/120804503
https://www.runoob.com/w3cnote/cpp-const-keyword.html
static 进阶
template
重载运算符
然后悟到了返回一个引用的话,就是 &operator 这类返回代表做完这个运算之后得到的是一个左值,但是如果返回的是 operator 的话就是一个值,只能作为右值。
比如 (++i)=10是正确的,但是(i++)=10就不行,因为++i是一个变量,i++只是一个值。
标签:构造函数,函数,++,算法,随记,https,拷贝,数据结构,指针 From: https://www.cnblogs.com/TYubai/p/18474919