本文介绍了C++中的关联式容器及其核心概念——键值对(pair)。关联式容器与序列式容器的主要区别在于其通过键(key)来高效查找、插入和删除元素,底层通常采用...
本文深入解析 C++ 多态的底层逻辑,聚焦运行时多态,从概念、实现条件、虚函数机制、虚表原理到抽象类、菱形继承等场景,结合代码与内存图解,全面梳理多态的核心知识...
本文系统讲解了 C++ 中的继承机制,包括单继承、多继承、菱形继承及虚拟继承,配合图解和代码示例直观展示各类继承的对象模型、内存布局及访问特点,重点说明虚拟继承...
C++继承是通过派生类继承基类的成员,避免了代码冗余,提升了代码复用性。继承有public、protected和private三种方式,影响成员的访问权限。继承...
💡 收获预期: ✔ 写出更健壮的C++代码 ✔ 深入理解面向对象设计 ✔ 掌握模板编程基础 📌 编程箴言: “好的C++代码就像好酒,需要时间沉淀...
在学习了C++的6个默认成员函数后,我们现在动手实现一个完整的日期类,来加强对这6个默认成员函数的认识。 这是日期类中所包含的成员函数和成员变量:
需要注意的是: 虽然通过调用上述的构造函数后,对象中的每个成员变量都有了一个初始值,但是构造函数中的语句只能将其称作为赋初值,而不能称作为初始化。因为初始化只能...
这里是C++程序员的成长乐园,带你领略从面向对象到现代C++的精彩世界。我们将用简洁的代码和生动的案例,助你掌握C++核心精髓。
面向过程:是一种以过程为中心的编程思想。都是以什么正在发生为主要目标进行编程。C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。...
(1) 构造函数的参数是内存池,我们日常不需要理会,除非你要用自己的内存池,这就是默认构造,explicit修饰,说明该函数不支持隐式类型转换。
但数据真的存储在string本身吗?并不是,它存储在一片堆空间内,由stirng内部的指针指向该空间 我们之前实现了简单string,其底层是_str,_si...
在进入这篇的学习之前,我们做一做以下这些题目( 涉及C语言的内存管理知识):
友元提供了⼀种突破类访问限定符封装的⽅式,友元分为:友元函数和友元类,在函数声明或者类
这一篇我们来给C++类与对象收尾,这一篇还会补充类的默认成员函数没讲的部分,开始吧
基于我们学过的类的默认成员函数,接下来这一篇,我将解释如何实现日期类 Date :
用户没有显式实现,编译器自动生成的成员函数,即默认成员函数。在一个类里,我们不写的情况下编译器会默认生成下图中的6个默认成员函数函数:
{ }中为类的主体,括号后面有一个不可缺少的分号 ; 类名则和定义一个整型变量a一样。
通过下图我们可以看到,满足多态条件后,底层不再是编译时通过调用对象确定函数的地址,而是运行时到指向的对象的虚表中确定对应的虚函数的地址,这样就实现了指针或引用指...
多态(Polymorphism)是面向对象编程(OOP)中的一个核心概念,它指的是同一个行为具有多个不同表现形式或形态的能力。在编程中,多态通常通过继承(inh...
运行上面代码我们会发现报错一堆,而且有奇怪的错误,像缺少符号的错误,但是代码却没有问题,实际上类型出了问题,因为编译器在编译运行时,会进行向上查找,然而在父类的...