
C++
文章平均质量分 81
图南楠
这个作者很懒,什么都没留下…
展开
-
C++ STL 容器类和迭代器
迭代器就是能通过移动来遍历处理的一种机制。每个容器都有自己专属的迭代器。迭代器就是C++为我们设计的一个高层次的“指针”,高层指针是面向容器中的元素的。原创 2023-01-06 10:49:32 · 564 阅读 · 0 评论 -
C++模板
虽然写在class内,但仍然是友元,而不是member function不能通过类创建的对象去访问private :T age;public ://构造函数 People() {};};//初始化列表 friend void print(const People < T > & pn) {} };(1) 声明时函数名加后缀,而定义时不用加(2) 需要class和friend function的2个前置声明。原创 2023-01-03 14:50:33 · 413 阅读 · 0 评论 -
C++ 继承和多态
(1) 继承是C++源生支持的一种语法特性,是C++面向对象的一种表现(2) 继承特性可以让派生类“瞬间”拥有基类的所有(当然还得考虑权限)属性和方法(3) 继承本质上是为了代码复用(4) 类在C++编译器的内部可以理解为结构体,派生类是由基类成员叠加派生类新成员得到的父类的public成员 在子类中是public的父类的protected成员 在子类中是protected的父类的private成员 在子类中是private的,权限进一步降低,只能通过父类的public方法间接访问。原创 2022-12-30 10:02:44 · 1388 阅读 · 1 评论 -
C++封装和访问权限
(3) C语言中struct无构造函数概念,所以struct中需要用到动态内存时必须在定义struct变量后再次单独申请和释放,而这些操作都需要程序员手工完成。(1) 深拷贝,深的意思就是不止给指针变量本身分配内存一份,也给指针指向的空间再分配内存(如果有需要还要复制内存内的值)一份。(4) 继承特性上,C中不支持(只能通过结构体包含来间接实现),而C++源生支持,且struct和class可以互相继承。在实际项目中,一般一个cpp和一个hpp文件配对,描述一个class,class的名字和文件名相同的。原创 2022-12-28 14:36:50 · 705 阅读 · 0 评论