- 博客(30)
- 收藏
- 关注
原创 C++重载——类型转换运算符
本文参照于狄泰软件学院,唐佐林老师的——《C++深度剖析教程》C语言中的类型转换普通类型到类类型的转换类类型到普通类型的转换类类型之间的转换Qt的类型转换函数C语言中的类型转换标准数据类型之间会进行隐式类型安全转换转换规则如下: 问题:在C++中,普通类型与类类型之间能否进行类型转换?普通类型到类类型的转换转换构造函数(特殊的...
2018-05-31 09:07:35 11828 2
原创 C++重载——函数调用运算符
本文参照于狄泰软件学院,唐佐林老师的——《C++深度剖析教程》函数对象函数指针与函数对象客户需求: 1. 函数可以获得斐波拉切数列每项的值 2. 每调用一次返回一个值 3. 函数可根据需要重复使用示例代码:#include <iostream>#include <string>using namespace std;...
2018-05-31 09:06:06 1599
原创 C++重载——C++中的字符串类
本文参照于狄泰软件学院,唐佐林老师的——《C++深度剖析教程》++,- -操作符的本质笔试面试中的“奇葩”题++,- -操作符的本质C语言中的一些“小动作” 高级语言在运算中允许我们大跨度的运算。意思就是低级语言中需要好几步才能完成的一个运算,在高级语言中只要一步就可以完成了。 譬如C语言中的++和–运算符,在C中我们需要一个变量 i+1,我们只要...
2018-05-31 08:58:45 990
原创 C++重载——前置操作符和后置操作符重载
本文参照于狄泰软件学院,唐佐林老师的——《C++深度剖析教程》 思考:“i++“ 和 ”++i“有区别吗?为什么?我们通过反汇编验证一下想法:16 int i = 0;0804869d: movl $0x0,0x1c(%esp)18 i++;080486a5: addl $0x1,0x1c(%esp)20 ...
2018-05-31 08:57:41 1042 1
原创 C++重载——逻辑操作符重载的陷阱
本文参照于狄泰软件学院,唐佐林老师的——《C++深度剖析教程》逻辑运算符的原生语义重载逻辑操作符 既然运算操作符、比较操作符、赋值操作符、求模运算符都可以进行操作符重载了。那么逻辑运算符是否可以重载呢?回答这个问题,我们需要知道操作符重载的规则。规则之一是:不能改变操作符的原有语义。逻辑运算符的原生语义操作数只有两种值(true)和(false)...
2018-05-31 08:56:55 1281
原创 类的继承——C++中的类型识别
本文参照于狄泰软件学院,唐佐林老师的——《C++深度剖析教程》静态类型与动态类型利用多态特性获取动态类型C++的解决方案:类型识别关键字我们在父子间的冲突发现,可以定义一个虚函数来解决父类指针(引用)引发的同名覆盖的问题。 在面向对象中还可能出现下面的情况: 1. 基类指针指向子类对象 2. 基类引用成为子类对象的别名静态类型与动态类型...
2018-05-31 08:53:47 1251
原创 对象和类——友元的尴尬能力
本文参照于狄泰软件学院,唐佐林老师的——《C++深度剖析教程》友元友元的用法友元不是类的一部分为什么需要友元?友元类 我们知道,C++控制对类对象私有部分(private)的访问。通常,公有类方法提供唯一的访问途径(public)。但是有时候这种限制太严格,以致于不适合特定的编程问题。 问题:还有没有别的方式可以访问到类的私有成员呢?友...
2018-05-30 09:53:40 269
原创 对象和类——类的真正形态
类的真正形态类的实现方式类的真正形态 在C语言中,类是由struct关键字定义的,而在C++中是由class关键字定义的。那么这两者有什么不同呢?类的关键字 1. struct在C语言中已经有了自己的含义,必须继续兼容 2. 在C++中提供了新的关键字class用于类定义 3. class和struct的用法是完全相同的。示例代码:clas...
2018-05-29 09:51:14 200
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人