![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++学习1(建议看C++学习2)
文章平均质量分 87
之前自己学的C++博客,内容较少,不会很详细,需要学习的可以去C++学习2专栏查看,学习。
没看到这个专栏就是暂时还没创建,快了,快了。
流星白龙
https://gitee.com/yudukai(Gitee链接)
展开
-
【C++】构造函数,析构函数和拷贝构造函数的区别
拷贝构造函数的特殊之处在于它接受一个对现有对象的引用作为参数,并创建一个新的对象作为该对象的副本。拷贝构造函数的目的是确保对象的复制行为符合预期,特别是在处理动态分配的内存时,需要确保内存被正确复制而不是简单地复制指针。构造函数是一种特殊的成员函数,它在创建对象时自动调用,用于初始化对象的状态。析构函数是另一个特殊成员函数,它在对象生命周期结束时自动调用,用于清理对象占用的资源,如释放动态分配的内存、关闭文件等。对象,调用了构造函数,动态分配了内存,并将内存初始化为10。的副本,它有自己的独立内存空间。原创 2024-05-08 01:44:10 · 885 阅读 · 1 评论 -
【C++】6.多态(下)
如果一个父类有3个纯虚函数,子类实现了2个纯虚函数,那么只要你写了函数体,那么这个函数就不再是纯虚函数了。但是有的情况下呢,我们并不希望这种东西能够一直这样重写下去,比如父类里面有个虚函数,子类可以重写,但是孙子类不想要它重写了,那么就可以用final来终结这一种情况。当然,你只要在某一个子类里面把纯虚函数给他实现了,那么当前实现的这个所有的纯虚函数的子类就可以去正常使用了。如果希望某个来自父类的虚函数在自己这里重写了之后,你希望在你的子类里面还可以重写的话呢,你可以在重写的时候继续把他声明为虚函数。原创 2024-05-06 02:02:00 · 503 阅读 · 2 评论 -
【C++】6.多态(上)
联编是计算机自身内部彼此关联的一个过程。比如:写代码的时候,有个函数在这个函数里面调用了另外一个函数,这两个函数就联合在一起去实现某个功能,这个就可以理解成是一种联合关系。例如:在使用函数重载的时候,我们可以根据这个实参的不同,去决定调用哪个具体的对应的函数的重载。这个其实是通过函数的调用和具体的函数体之间有一种对应的关系。可以称之为一种映射关系。通过这个实参就可以决定具体去调用哪一个函数体。通过实参去明确你具体要实现的代码。这个也属于联编。动态联编,静态联编都属于联编。原创 2024-05-06 01:59:40 · 770 阅读 · 0 评论 -
【C++】5.继承与派生(下)
如果你的子类中添加的成员和父类中的成员名字相同的话,那么子类就会把父类的成员隐藏起来。但是你要用的时候还是可以用的,用的方式是通过父类的类名加上作用域符,来访问这个父类和子类同名的成员。因为子类是继承了父类的所以成员的,也就是说父类有的,子类也有。A里有个n成员,派生的时候A1和A2里面分别有了一个n,然后之后AA里面就有了两个n,一个是A1里派生出来的,一个是A2里派生出来的。在子类里面是可以添加自己新的成员的,这些就需要通过子类的对象来调用了。子类是父类的对象,但是父类对象不是子类的对象。原创 2024-05-06 01:56:32 · 260 阅读 · 0 评论 -
【C++】5.继承与派生(上)
②描述的是类与类之间的关系。原来的类和新类的关系。原来的类叫父类(基类),新的类叫做子类(派生类)。①一种在已经有了的类的基础上,创建新类的方式。新建的类可以继承自一个或一个以上的类。继承和派生其实是同一个过程,只是从不同角度去看所以不同。protected继承,哪个更严格就是哪个权限。第一列:父类中的成员原来在父类里面的访问权限。注意:继承是子类继承父类的全部成员。第一行:继承权限,继承的方式。private继承不可访问。:有一个或一个以上的父类。public继承保持原样。多级继承:分析直接父子类。原创 2024-05-06 01:52:21 · 242 阅读 · 0 评论 -
【C++】4.一些特殊情况(下)
把A看成一个类,A的里面藏起来了,看不清,F是一个函数。A觉得F很顺眼,想交一个朋友,F就是A的友元函数。使用成员初始化列表,对非静态成员进行一个初始化。但是BF不一定喜欢A。原创 2024-05-06 01:50:07 · 270 阅读 · 0 评论 -
【C++】4.一些特殊情况(上)
类的拷贝构造函数和赋值操作符的正确实现,这在实际应用中是必要的,以确保类的正确行为和资源管理。这是单例模式的关键特性,它保证了全局访问点的唯一性和对象的单一实例。静态成员不能用类里面的普通的数据成员和普通的成员函数,甚至连this指针都没有。而成员函数整个类只有一份,用的时候哪个对象需要去调用这个成员函数,那他就归哪个成员函数调用。那是因为类型是求不了字节数的,所以 他给你创建了一个对象,既然是对象,那就是一个字节。,它就会直接返回已经存在的实例的地址,而不会再次创建新的实例。,然后都创建一个新的实例。原创 2024-05-06 01:46:25 · 967 阅读 · 0 评论 -
【C++】3.构造函数与析构函数(下)
然后返回,但是obj是个栈区的对象,是不会这么简单就返回的。从主调函数(main里面的test2)进入被调函数(Monster test_func_2()),这个过程没有参数不存在调用别的函数的可能性。拷贝构造是一种特殊的构造函数,通过拷贝构造函数完成一个复制的过程。如果没有东西去接收obj的复制体的话,会有一个看不见的透明的对象在。是一种特殊的函数,主要作用是在对象生命周期结束的时候进行清理。他的第一个函数(最前面的参数)是当前这个类的对象的引用。特殊在这个类型的函数的参数是本类的对象的引用。原创 2024-05-06 01:34:50 · 878 阅读 · 0 评论 -
【C++】2.面向对象思想
面向对象正如活字印刷术一样,如果需求变化了,可能只是修改其中一部分,也就是一个对象,而且最关键的一点是这些对象可以服用,进行活字印刷术一样,不是说这个对象在这个工程中发挥完之后,它就没有价值了,它还可能被其他工程所用。如果用面向对象考虑,只需记住一句话,万物皆对象,你是对象,水龙头也是对象,所以我先传递力的参数给浴室门,然后门就开了,然后我在传递消息给水龙头,水龙头得到消息,放水,最后传递消息给毛巾,毛巾利用它吸水的特性,调用吸水方法擦干身体。面向过程简单,好用,但是不安全,不适合大项目。原创 2024-05-06 01:20:55 · 1349 阅读 · 0 评论 -
【C++】3.构造函数与析构函数(上)
这个构造函数在调用对象的时候就被系统主动调用了。成员变量没有在初始化列表中被初始化,所以编译器会报错。为了修复这个问题,您需要在构造函数的初始化列表中为。有时数据成员必须初始化,不能在构造函数中赋值----用成员初始化列表的方式给数据成员赋值。C语言里面的const是将一个变量修改为只读,不能直接修改。成员变量在初始化列表中没有被初始化,那么编译器将会报错。为了修复这个问题,您需要在构造函数的初始化列表中为。的,那么它必须在构造函数的初始化列表中被初始化,因为。在 C++ 中,如果一个类的成员变量是。原创 2024-05-06 01:25:30 · 328 阅读 · 0 评论 -
【C++】1.回顾C语言语法
1.函数的一些改变2.命名空间。原创 2024-05-06 00:56:49 · 960 阅读 · 2 评论