-
C++类的成员变量和成员函数细说
所属栏目:[语言] 日期:2022-07-02 热度:172
类可以看做是一种数据类型,它类似于普通的数据类型,但是又有别于普通的数据类型。类这种数据类型是一个包含成员变量和成员函数的集合。 这段代码在类体中定义了成员函数。你也可以只在类体中声明函数,而将函数定义放在类体外面,如下图所示: class Stu[详细]
-
C++类成员的询问权限以及类的封装
所属栏目:[语言] 日期:2022-07-02 热度:193
前面我们在定义类时多次使用到了 public 关键字,表示类的成员具有公开的访问权限,这节我们就来详细讲解。 C++通过 public、protected、private 三个关键字来控制成员变量和成员函数的访问权限,它们分别表示公有的、受保护的、私有的,被称为成员访问限[详细]
-
C++构建函数详解
所属栏目:[语言] 日期:2022-07-02 热度:56
在C++中,有一种特殊的成员函数,它的名字和类名相同,没有返回值,不需要用户显式调用(用户也不能调用),而是在创建对象时自动执行。这种特殊的成员函数就是构造函数(Constructor)。 该例在 Student 类中定义了一个构造函数Student(char *, int, floa[详细]
-
C++建立函数初始化列表
所属栏目:[语言] 日期:2022-07-02 热度:194
构造函数的一项重要功能是对成员变量进行初始化,为了达到这个目的,可以在构造函数的函数体中对成员变量一一赋值,还可以采用初始化列表。 C++构造函数的初始化列表使得代码更加简洁,请看下面的例子: #include iostream using namespace std; class Stu[详细]
-
C++析构函数细聊
所属栏目:[语言] 日期:2022-07-02 热度:197
创建对象时系统会自动调用构造函数进行初始化工作,同样,销毁对象时系统也会自动调用一个函数来进行清理工作,例如释放分配的内存、关闭打开的文件等,这个函数就是析构函数。 析构函数(Destructor)也是一种特殊的成员函数,没有返回值,不需要程序员显[详细]
-
C++ this指针说明
所属栏目:[语言] 日期:2022-07-02 热度:143
this 是 C++ 中的一个关键字,也是一个 const 指针,它指向当前对象,通过它可以访问当前对象的所有成员。 所谓当前对象,是指正在使用的对象。例如对于stu.show();,stu 就是当前对象,this 就指向 stu。 运行结果: 李华的年龄是16,成绩是96.5 this 只[详细]
-
C++ static静态成员变量详聊
所属栏目:[语言] 日期:2022-07-02 热度:192
对象的内存中包含了成员变量,不同的对象占用不同的内存(已在《C++对象的内存模型》中提到),这使得不同对象的成员变量相互独立,它们的值不受其他对象的影响。例如有两个相同类型的对象 a、b,它们都有一个成员变量 m_name,那么修改 a.m_name 的值不会[详细]
-
C++ static静态成员函数剖析
所属栏目:[语言] 日期:2022-07-02 热度:53
在类中,static 除了可以声明静态成员变量,还可以声明静态成员函数。普通成员函数可以访问所有成员(包括成员变量和成员函数),静态成员函数只能访问静态成员。 编译器在编译一个普通成员函数时,会隐式地增加一个形参 this,并把当前对象的地址赋值给 t[详细]
-
C++函数模板5分钟进门教学
所属栏目:[语言] 日期:2022-07-01 热度:75
在《C++函数重载》一节中,为了交换不同类型的变量的值,我们通过函数重载定义了四个名字相同、参数列表不同的函数,如下所示: //交换 int 变量的值 void Swap(int *a, int *b){ int temp = *a; *a = *b; *b = temp; } //交换 float 变量的值 void Swap(f[详细]
-
C++运算符重载注意事宜以及汇总
所属栏目:[语言] 日期:2022-07-01 热度:175
在 C++ 中进行运算符重载时,有以下问题需要注意: 重载后运算符的含义应该符合原有用法习惯。例如重载+运算符,完成的功能就应该类似于做加法,在重载的+运算符中做减法是不合适的。此外,重载应尽量保留运算符原有的特性。 C++ 规定,运算符重载不改变运[详细]
-
C++重载 强制类别转换运算符
所属栏目:[语言] 日期:2022-07-01 热度:175
在 C++ 中,类型的名字(包括类的名字)本身也是一种运算符,即类型强制转换运算符。 类型强制转换运算符是单目运算符,也可以被重载,但只能重载为成员函数,不能重载为全局函数。经过适当重载后,(类型名)对象这个对对象进行强制类型转换的表达式就等价[详细]
-
C++重载new及delete运算符详解
所属栏目:[语言] 日期:2022-07-01 热度:58
内存管理运算符 new、new[]、delete 和 delete[] 也可以进行重载,其重载形式既可以是类的成员函数,也可以是全局函数。一般情况下,内建的内存管理运算符就够用了,只有在需要自己管理内存时才会重载。 两种重载形式的返回值相同,都是void *类型,并且都[详细]
-
C++重载++和-- 自增和自减运算符 剖析
所属栏目:[语言] 日期:2022-07-01 热度:142
自增++和自减--都是一元运算符,它的前置形式和后置形式都可以被重载。 上面的代码定义了一个简单的秒表类,m_min 表示分钟,m_sec 表示秒钟,setzero() 函数用于秒表清零,run() 函数是用来描述秒针前进一秒的动作,接下来是三个运算符重载函数。 先来看[详细]
-
C++重载 和 输入和输出运算符 分析
所属栏目:[语言] 日期:2022-07-01 热度:68
在C++中,标准库本身已经对左移运算符和右移运算符分别进行了重载,使其能够用于不同数据的输入输出,但是输入输出的对象只能是 C++ 内置的数据类型(例如 bool、int、double 等)和标准库所包含的类类型(例如 string、complex、ofstream、ifstream 等)[详细]
-
C++重载 下标运算符 细说
所属栏目:[语言] 日期:2022-07-01 热度:138
C++ 规定,下标运算符[ ]必须以成员函数的形式进行重载。该重载函数在类中的声明格式如下: 返回值类型 operator[ ] (参数); 或者: const 返回值类型 operator[ ] (参数) const; 使用第一种声明方式,[ ]不仅可以访问元素,还可以修改元素。使用第二种声[详细]
-
C++运算符重载时要遵循的准则
所属栏目:[语言] 日期:2022-07-01 热度:107
运算符重载是通过函数重载实现的,概念上大家都很容易理解,这节我们来说一下运算符重载的注意事项。 1) 并不是所有的运算符都可以重载。能够重载的运算符包括: + - * / % ^ | ~ ! = += -= *= /= %= ^= = |= = = == != = = || ++ -- , -* - () [] new new[详细]
-
C++重载数学运算符 示范演示
所属栏目:[语言] 日期:2022-07-01 热度:161
四则运算符(+、-、*、/、+=、-=、*=、/=)和关系运算符(、、=、=、==、!=)都是数学运算符,它们在实际开发中非常常见,被重载的几率也很高,并且有着相似的重载格式。本节以复数类 Complex 为例对它们进行重载,重在演示运算符重载的语法以及规范。 复[详细]
-
C++运算符重载基础教案
所属栏目:[语言] 日期:2022-07-01 热度:114
所谓重载,就是赋予新的含义。函数重载(Function Overloading)可以让一个函数名有多种功能,在不同情况下进行不同的操作。运算符重载(Operator Overloading)也是一个道理,同一个运算符可以有不同的功能。 实际上,我们已经在不知不觉中使用了运算符重[详细]
-
拿JS怎样做鼠标经过表格变色的效果?
所属栏目:[语言] 日期:2022-01-12 热度:68
用JS怎样做鼠标经过表格变色的效果?也就是鼠标经过表格的某行时,这行变色显示的效果,这样的好处的就是一目了然看到所选的信息,小编觉得比较有用,因此分享给大家做个参考,感兴趣的朋友就继续往下看吧。 表格表头为蓝色,表主体为白色,当鼠标放到表的[详细]
-
vue的防抖与节流是什么意思?如何理解?
所属栏目:[语言] 日期:2022-01-12 热度:158
vue的防抖和节流是什么意思?一些朋友可能对防抖和节流不是很了解,对此这篇文章就给大家具体的介绍一下什么是防抖和节流,感兴趣的朋友接下来跟随小编一起学习一下吧。 函数防抖(debounce) 解释:当持续触发某事件时,一定时间间隔内没有再触发事件时,[详细]
-
JavaScript如何做下载文件的功能?
所属栏目:[语言] 日期:2022-01-12 热度:175
JavaScript怎样做下载文件的功能?有很多网站都会有提供下载文件的功能,小编觉得比较使用,因此这篇文章就给大家分享一下JS实现前端下载文件功能的具体代码,感兴趣的朋友可以参考。 在 html5 中,a 标签新增了 download 属性,包含该属性的链接被点击时[详细]
-
vue数据绑定原理是什么?怎样完成?
所属栏目:[语言] 日期:2022-01-12 热度:197
vue数据绑定原理是什么?其实其实原理很简单,就是拦截了Object的get/set方法,在对数据进行set(obj.aget=18)时去重现渲染视图,那么具体要怎样实现vue数据绑定呢?下面给大家分享两种实现方式。 实现方式有两种 方式1 定义了同名的get/set就相当于定义了a[详细]
-
用JS如何做点击复制文本的功能?
所属栏目:[语言] 日期:2022-01-12 热度:106
用JS怎样做点击复制文本的功能?点击按钮实现复制文本的功能还是比较实用的,例如下本实现的复制邀请码的功能,此外点击复制文本的应用场景还有很多。感兴趣的朋友可以参考下文实例,接下来我们就一起来了解看看。 准备:先去下载clipboard.js: 官网 移动[详细]
-
用JS如何做鼠标移过显示二级下拉菜单?
所属栏目:[语言] 日期:2022-01-12 热度:127
用JS怎样做鼠标移过显示二级下拉菜单?也就是当当鼠标经过一级菜单时,显示二级菜单,鼠标离开时隐藏。这个效果在很多网站设计中都会看到,小编觉得比较实用,因此分享给大家做个参考,那么接下来我们就看看怎样做吧。 鼠标放到微博、博客或邮箱上面时,会[详细]
-
用JS怎样完成类似淘宝tab切换栏的功能?
所属栏目:[语言] 日期:2022-01-12 热度:186
用JS怎样实现类似淘宝tab切换栏的功能?tab切换栏的功能还是比较实用的,例如淘宝页面的商品详情,规格参数和累计评价三个栏,点击不同的栏下面出现的内容不同,这样的设计的好处就是能让页面更整洁美观,接下来我们就看看这个效果要怎样做。 根据淘宝做出[详细]