
C++
文章平均质量分 86
平凡的指针
这个作者很懒,什么都没留下…
展开
-
【对C++中的多态分析和总结】
文章目录多态的概念多态的概念多态,即多种形态,不同类型的对象去做同一件事,但是结果不同。(比如去商城买东西,没有会员的对象就不打折,有会员的才打折)。多态还可以分为静态的多态和动态的多态。静态的多态: 函数重载,看起来调用同一个函数有不同行为。注意: 函数模板并没有实现出多态,是模板实例化后形成的函数重载,才实现的多态。静态的多态:原理是编译时实现。举例如下://静态的多态int main(){ int a = 10; double d = 6.58; string s("hell原创 2022-04-18 14:48:23 · 1365 阅读 · 12 评论 -
【单继承和多继承的虚函数表验证】
文章目录一、单继承的虚函数表二、多继承的虚函数表一、单继承的虚函数表单继承的虚表是怎么样的呢?我们来看看下面单继承的代码再来分析class Person{public: virtual void fun1() { cout << "virtual void fun1() "<< endl; } virtual void fun2() { cout << "virtual void fun2()" << endl; }};cl原创 2022-04-18 14:41:34 · 561 阅读 · 1 评论 -
对C++中的继承分析和总结
文章目录继承的概念继承的定义继承的定义格式继承方式和访问限定符基类和派生类的赋值规则1. 派生类赋值给基类2. 基类赋值给派生类继承中的重定义 (隐藏)继承的概念继承机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。以前我们接触的复用都是函数复用,而继承是类设计层次的复用,所以继承的本质还是复用。举例如下:继承的定义继承的定义格式如下图所示,P原创 2022-04-13 15:24:56 · 925 阅读 · 7 评论 -
【C++中的内存管理和模板的简单理解】
文章目录内存管理内存管理我们以前学C语言的时候是怎样在堆上开辟内存的呢?我们来回顾一下:malloc 、 calloc 、 realloc,并且和C++中的动态内存管理进行对比。对于内置类型来说,我们可以有以下使用方式:int main(){ //malloc/free 和 new/delete 对应内置类型本质没有区别,只是用法上的区别 //C语言开辟空间的用法 int* p1 = (int*)malloc(sizeof(int)); int* p2 = (int*)calloc(1原创 2022-03-25 09:19:27 · 363 阅读 · 0 评论 -
【C++中的深浅拷贝和string类中的两种写法】
文章目录深浅拷贝深浅拷贝拷贝这个词对于我们来说应该不陌生,比如我们平常的复制和粘贴就是拷贝;但是如果把拷贝这个词放到C++中来说就有一些复杂了,我们先来看一下什么是浅拷贝:下面用字符串类来模拟实现。class Astring{public: //构造函数 Astring(const char* str = "") { _str = new char[strlen(str) + 1]; strcpy(_str, str); } //采用浅拷贝写的构造函数 Astring(con原创 2022-03-09 12:04:08 · 842 阅读 · 1 评论 -
C++中类和对象的分析与品鉴(下篇)
文章目录类的6个默认成员函数1、构造函数概念相关特性重点注意特性析构函数概念相关特性拷贝构造函数概念相关特性类的6个默认成员函数如果一个类中什么成员都没有,简称为空类。空类中什么都没有吗?并不是的,任何一个类在我们不写的情况下,都会自动生成下面6个默认成员函数,下面我们来分析分析。1、构造函数概念在我们前面学习数据结构的时候,用C语言来实现栈或队列等情况下,我们自定义的类型都要进行初始化,如果没有初始化,程序可能就会运行崩溃;所以我们要专门来写一个初始化函数。但是在C++中有没有类似于初始化函数原创 2022-02-15 21:27:09 · 164 阅读 · 6 评论 -
C++中类和对象的分析与品鉴(上篇)
文章目录一、面向过程与面向对象二、类的引入和定义struct类class类三、封装和类的访问限定符封装访问限定符四、类的作用域五、类对象模型类对象大小的计算类对象的存储方式一、面向过程与面向对象在学习类之前先来回顾一下C语言和C++的一些联系和区别:C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。 在代码层面体现的是函数。C++ 是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。在代码层面体现的是类的设计和类之间的关系。总的来说,原创 2022-02-12 14:01:27 · 201 阅读 · 8 评论 -
【关于日期类的详细实现和分析】
文章目录关于日期类对象的操作:日期类的构建1.获取每个月天数的函数2.构造函数3.判断两个日期的大小关系4.日期加减天数的实现5.日期减日期的实现关于日期类对象的操作:在生活当中,关于日期我们肯定不陌生,比如各种节日都要用一个日期来定义是在哪一天;而对于日期来说我们不妨把它归为一类,在现实生活中日期是一个实体,我们把日期构建为日期类,下面我们就来实现关于日期类经常用的操作。日期类的构建我们知道描述一个日期是以哪一年、哪一月、哪一天来描述的,所以在我们自定义类型构建日期类的时候,日期类的成员就是年、月原创 2022-01-23 13:32:34 · 533 阅读 · 0 评论 -
【C++中有但C语言中没有的一些基础语法分析】
文章目录一、命名空间1. 命名空间定义我们知道C++语言是在C语言的基础上建立的,所以在C语言中没有的语法,C++中却可以有新的语法,这是为了弥补C语言中的一些缺陷,分析如下:一、命名空间在C语言中我们知道在同一作用域下命名是不能有相同的,比如在同一个函数中变量名字sum就只能存在一个不能存在多个。但是我就想多用这个名字怎么办呢?在C++中为我们带来了新的语法,引入了命名空间这个概念。并且在C/C++中,变量、函数和类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲原创 2022-01-16 21:58:51 · 845 阅读 · 0 评论