-
C++纯虚函数及抽象类详解
所属栏目:[语言] 日期:2022-07-03 热度:82
在C++中,可以将虚函数声明为纯虚函数,语法格式为: virtual 返回值类型 函数名 (函数参数) = 0; 纯虚函数没有函数体,只有函数声明,在虚函数声明的结尾加上=0,表明此函数为纯虚函数。 最后的=0并不表示函数返回值为0,它只起形式上的作用,告诉编译系统[详细]
-
C++ typeid运算符 取得类型信息
所属栏目:[语言] 日期:2022-07-03 热度:178
typeid 运算符用来获取一个表达式的类型信息。类型信息对于编程语言非常重要,它描述了数据的各种属性: 对于基本类型(int、float 等C++内置类型)的数据,类型信息所包含的内容比较简单,主要是指数据的类型。 对于类类型的数据(也就是对象),类型信息是[详细]
-
C++运算符重载基础教案
所属栏目:[语言] 日期:2022-07-02 热度:200
所谓重载,就是赋予新的含义。函数重载(Function Overloading)可以让一个函数名有多种功能,在不同情况下进行不同的操作。运算符重载(Operator Overloading)也是一个道理,同一个运算符可以有不同的功能。 实际上,我们已经在不知不觉中使用了运算符重载[详细]
-
C++运算符重载时要遵循的准则
所属栏目:[语言] 日期:2022-07-02 热度:78
运算符重载是通过函数重载实现的,概念上大家都很容易理解,这节我们来说一下运算符重载的注意事项。 1) 并不是所有的运算符都可以重载。能够重载的运算符包括: + - * / % ^ | ~ ! = += -= *= /= %= ^= = |= = = == != = = || ++ -- , -* - () [] new new[][详细]
-
C++重载数学运算符 示范演示
所属栏目:[语言] 日期:2022-07-02 热度:157
四则运算符(+、-、*、/、+=、-=、*=、/=)和关系运算符(、、=、=、==、!=)都是数学运算符,它们在实际开发中非常常见,被重载的几率也很高,并且有着相似的重载格式。本节以复数类 Complex 为例对它们进行重载,重在演示运算符重载的语法以及规范。 复数[详细]
-
C++重载 和 输入和输出运算符 分析
所属栏目:[语言] 日期:2022-07-02 热度:55
在C++中,标准库本身已经对左移运算符和右移运算符分别进行了重载,使其能够用于不同数据的输入输出,但是输入输出的对象只能是 C++ 内置的数据类型(例如 bool、int、double 等)和标准库所包含的类类型(例如 string、complex、ofstream、ifstream 等)。[详细]
-
C++重载 下标运算符 细说
所属栏目:[语言] 日期:2022-07-02 热度:159
C++ 规定,下标运算符[ ]必须以成员函数的形式进行重载。该重载函数在类中的声明格式如下: 返回值类型 operator[ ] (参数); 或者: const 返回值类型 operator[ ] (参数) const; 使用第一种声明方式,[ ]不仅可以访问元素,还可以修改元素。使用第二种声明[详细]
-
C++重载++和-- 自增和自减运算符 剖析
所属栏目:[语言] 日期:2022-07-02 热度:59
自增++和自减--都是一元运算符,它的前置形式和后置形式都可以被重载。 上面的代码定义了一个简单的秒表类,m_min 表示分钟,m_sec 表示秒钟,setzero() 函数用于秒表清零,run() 函数是用来描述秒针前进一秒的动作,接下来是三个运算符重载函数。 先来看一[详细]
-
C++重载new及delete运算符详解
所属栏目:[语言] 日期:2022-07-02 热度:182
内存管理运算符 new、new[]、delete 和 delete[] 也可以进行重载,其重载形式既可以是类的成员函数,也可以是全局函数。一般情况下,内建的内存管理运算符就够用了,只有在需要自己管理内存时才会重载。 两种重载形式的返回值相同,都是void *类型,并且都有[详细]
-
C++重载 强制类别转换运算符
所属栏目:[语言] 日期:2022-07-02 热度:183
在 C++ 中,类型的名字(包括类的名字)本身也是一种运算符,即类型强制转换运算符。 类型强制转换运算符是单目运算符,也可以被重载,但只能重载为成员函数,不能重载为全局函数。经过适当重载后,(类型名)对象这个对对象进行强制类型转换的表达式就等价于[详细]
-
C++运算符重载注意事宜以及汇总
所属栏目:[语言] 日期:2022-07-02 热度:122
在 C++ 中进行运算符重载时,有以下问题需要注意: 重载后运算符的含义应该符合原有用法习惯。例如重载+运算符,完成的功能就应该类似于做加法,在重载的+运算符中做减法是不合适的。此外,重载应尽量保留运算符原有的特性。 C++ 规定,运算符重载不改变运算[详细]
-
C++函数模板5分钟进门教学
所属栏目:[语言] 日期:2022-07-02 热度:118
在《C++函数重载》一节中,为了交换不同类型的变量的值,我们通过函数重载定义了四个名字相同、参数列表不同的函数,如下所示: //交换 int 变量的值 void Swap(int *a, int *b){ int temp = *a; *a = *b; *b = temp; } //交换 float 变量的值 void Swap(flo[详细]
-
学习C++之前需先学习C语言吗
所属栏目:[语言] 日期:2022-07-01 热度:87
C++ 读作C加加,是C Plus Plus的简称。顾名思义,C++ 是在C语言的基础上增加新特性,玩出了新花样,所以叫C Plus Plus,就像 iPhone 7S 和 iPhone 7、Win10 和 Win7 的关系。 从语法上看,C语言是 C++ 的一部分,C语言代码几乎不用修改就能够以 C++ 的方式编[详细]
-
C语言中的文件是哪些
所属栏目:[语言] 日期:2022-07-01 热度:195
我们对文件的概念已经非常熟悉了,比如常见的 Word 文档、txt 文件、源文件等。文件是数据源的一种,最主要的作用是保存数据。 在操作系统中,为了统一对各种硬件的操作,简化接口,不同的硬件设备也都被看成一个文件。对这些文件的操作,等同于对磁盘上普通[详细]
-
C语言fopen函数的用法 C语言打开文件解说
所属栏目:[语言] 日期:2022-07-01 热度:82
在C语言中,操作文件之前必须先打开文件;所谓打开文件,就是让程序和文件建立连接的过程。 打开文件之后,程序可以得到文件的相关信息,例如大[详细]
-
C语言fgetc和fputc函数用法解说 以字符形式读写文件
所属栏目:[语言] 日期:2022-07-01 热度:161
在C语言中,读写文件比较灵活,既可以每次读写一个字符,也可以读写一个字符串,甚至是任意字节的数据(数据块)。本节介绍以字符形式读写文件。 以字符形式读写文件时,每次可以从文件中读取一个字符,或者向文件中写入一个字符。主要使用两个函数,分别是[详细]
-
C语言fscanf和fprintf函数的用法细说 格式化读写文件
所属栏目:[语言] 日期:2022-07-01 热度:188
fscanf() 和 fprintf() 函数与前面使用的 scanf() 和 printf() 功能相似,都是格式化读写函数,两者的区别在于 fscanf() 和 fprintf() 的读写对象不是键盘和显示器,而是磁盘文件。 这两个函数的原型为: int fscanf ( FILE *fp, char * format, ... ); int[详细]
-
C语言typedef的用法剖析
所属栏目:[语言] 日期:2022-07-01 热度:199
C语言允许为一个数据类型起一个新的别名,就像给人起绰号一样。 起别名的目的不是为了提高程序运行效率,而是为了编码方便。例如有一个结构体的名字是 stu,要想定义一个结构体变量就得这样写: struct stu stu1; struct 看起来就是多余的,但不写又会报错。[详细]
-
C语言const的用法详解 C语言常量定义细谈
所属栏目:[语言] 日期:2022-07-01 热度:141
有时候我们希望定义这样一种变量,它的值不能被改变,在整个作用域中都保持固定。例如,用一个变量来表示班级的最大人数,或者表示缓冲区的大[详细]
-
C语言随机数生成教学 C语言rand和srand用法详解
所属栏目:[语言] 日期:2022-07-01 热度:113
在实际编程中,我们经常需要生成随机数,例如,贪吃蛇游戏中在随机的位置出现食物,扑克牌游戏中随机发牌。 在C语言中,我们一般使用 stdlib.h 头文件中的 rand() 函数来生成随机数,它的用法为: int rand (void); void 表示不需要传递参数。 C语言中还有一[详细]
-
C语言二级指针 指向指针的指针 分解
所属栏目:[语言] 日期:2022-07-01 热度:163
指针可以指向一份普通类型的数据,例如 int、double、char 等,也可以指向一份指针类型的数据,例如 int *、double *、char * 等。 如果一个指针指向的是另外一个指针,我们就称它为二级指针,或者指向指针的指针。 假设有一个 int 类型的变量 a,p1是指向 a[详细]
-
C语言指针数组 数组每个元素都是指针 分析
所属栏目:[语言] 日期:2022-07-01 热度:78
如果一个数组中的所有元素保存的都是指针,那么我们就称它为指针数组。指针数组的定义形式一般为: dataType *arrayName[length]; [ ]的优先级高于*,该定义形式应该理解为: dataType *(arrayName[length]); 括号里面说明arrayName是一个数组,包含了length[详细]
-
vue数据绑定原理是什么?怎样完成?
所属栏目:[语言] 日期:2022-04-12 热度:75
vue数据绑定原理是什么?其实其实原理很简单,就是拦截了Object的get/set方法,在对数据进行set(obj.aget=18)时去重现渲染视图,那么具体要怎样实现vue数据绑定呢?下面给大家分享两种实现方式。 实现方式有两种 方式1 定义了同名的get/set就相当于定义了age[详细]
-
用JS如何做点击复制文本的功能?
所属栏目:[语言] 日期:2022-04-12 热度:150
用JS怎样做点击复制文本的功能?点击按钮实现复制文本的功能还是比较实用的,例如下本实现的复制邀请码的功能,此外点击复制文本的应用场景还有很多。感兴趣的朋友可以参考下文实例,接下来我们就一起来了解看看。 准备:先去下载clipboard.js: 官网 移动端[详细]
-
用JS如何做鼠标移过显示二级下拉菜单?
所属栏目:[语言] 日期:2022-04-12 热度:82
用JS怎样做鼠标移过显示二级下拉菜单?也就是当当鼠标经过一级菜单时,显示二级菜单,鼠标离开时隐藏。这个效果在很多网站设计中都会看到,小编觉得比较实用,因此分享给大家做个参考,那么接下来我们就看看怎样做吧。 鼠标放到微博、博客或邮箱上面时,会出[详细]