C++学习
文章平均质量分 86
记录学习的黑大帅
种一颗树的最好时间是十年前,其次是现在
展开
-
C++面向对象特性之一:多态
⑴ 多态:同一种行为,不同对象来完成会产生不同结果。⑵ 虚函数:被virtual修饰的类成员函数称为虚函数。⑶ 重写:派生类虚函数与基类虚函数的返回值类型函数名参数列表完全相同(除缺省值,this)重写有两个特例:(一) 协变:基类虚函数返回基类对象的指针或者引用,而派生类虚函数返回派生类对象的指针或者引用(二) 需要重写的函数,派生类可以不添加virtual,但是基类必须添加virtual⑷ 构成条件:① 必须通过基类的指针或者引用调用虚函数② 被调用的函数必须是虚函数。原创 2023-09-01 15:50:02 · 100 阅读 · 0 评论 -
C++ 面向对象特性之一:继承
有了多继承,就存在菱形继承,有了菱形继承就有菱形虚拟继承,虽然能够解决菱形继承所带来的问题,但是。原创 2023-09-01 15:12:31 · 99 阅读 · 0 评论 -
C++之内存管理
C语言内存管理方式在C++中可以继续使用,但有些地方就无能为力,而且使用起来比较麻烦,如:malloc申请完之后都要进行强转类型,以及C++引入构造函数和析构函数,因此C++又提出了自己的内存管理方式:通过new和delete操作符进行动态内存管理。⑵ 多个对象,使用new + 类型[] 和 delete[] + 指针,这是构造多个对象,以及释放多个对象。,不能是new单个对象,却用delete[] 来释放,这样的行为是未定义,不能保证一定没问题。,完成N个对象中资源的清理,再调用。原创 2023-08-24 22:47:45 · 105 阅读 · 0 评论 -
C++类与对象 --- 构造函数、析构函数、拷贝构造、赋值重载
详细介绍C++的四个默认成员函数原创 2023-08-22 22:24:53 · 76 阅读 · 0 评论 -
C++程序设计--- STL list的模拟实现
STL List的模拟实现原创 2023-03-21 22:12:11 · 142 阅读 · 2 评论 -
C++程序设计-----STL vector模拟实现
目录前言一、成员变量二、天选之子三、成员函数3.1 获取大小3.2 修改函数四、谈谈迭代器失效问题五、总结 前言 这次我们来实现STL vector的模拟实现,还是与之前一样先从成员变量,再到四大天选之子,最后到有各种功能成员函数。 一、成员变量 因为vector的物理结构是连续的物理空间,所以Linux下的SGI版本采用依旧是原生的指针作为迭代器。在C++11中能够给成员变量赋缺省值。 private: iterator _start = nullptr; iterator _finish = nu原创 2023-03-19 22:46:18 · 105 阅读 · 0 评论 -
C嘎嘎程序设计------STL string类的模拟实现
通过实现常用的string类的函数接口进一步了解string类,能够使我们对string类理解更深。从而更好的运用string。原创 2023-03-17 12:03:06 · 168 阅读 · 6 评论 -
C++入门:命名空间、缺省参数、函数重载、引用、内联函数、auto、范围for
C++入门:命名空间,缺省参数,函数重载,引用,内联函数,auto,范围for原创 2023-02-28 22:34:22 · 677 阅读 · 0 评论