![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
奔跑的追梦人
移动研发工程师, 目前专注于Android端开发
展开
-
运算符重载分析与实例
运算符重载时的几个关键点:1. 首先,运算符重载不会改变运算符的优先级和结合性。2. 运算符的重载不能改变运算符的运算对象数。因此,重载函数的形参个数(包括成员函数的隐式指针this)与运算符的运算对象数相同。3. 大多数运算符重载函数都可以定义为全局函数(友元函数)或类的成员函数:当定义为成员函数时: 运算符的运算对象数目比函数形参数目少1,因为成员函数第一个原创 2012-09-08 21:37:20 · 1493 阅读 · 0 评论 -
覆盖(重写) vs 重载 vs 重定义
重写(override),重载(overload),重定义(redefine)的区别参见:http://www.cnblogs.com/BeyondTechnology/archive/2010/09/20/1831441.html 重写又称为覆盖,是指父类的虚函数在子类中被重写(覆盖),返回值和参数列表相同。一般来说,如果父类的某个函数用virtual修饰,即使派生类中的同名函数原创 2012-09-08 16:31:32 · 900 阅读 · 0 评论 -
友元函数和友元类
1. 使用友元的原因: 类具有封装和信息隐藏的作用,只有类的成员函数才能访问类的私有成员。如果把数据成员都定义为公有的,会破坏类的隐藏特性。但为了访问这些数据成员经常需要多次调用成员函数,会有很多开销。因此才使用友元。 2. 友元的种类 友元可以是一个函数(友元函数),也可以是一个类(友元类)。 友元函数定义在类的外部,它不是类的成员函数,但需要再类体内用关键原创 2012-09-08 10:31:18 · 1943 阅读 · 0 评论 -
关于拷贝构造函数
1. 深拷贝和浅拷贝(拷贝构造函数的使用) 有时候需要自己定义拷贝构造函数,以避免浅拷贝问题。在什么情况下需要用户自己定义拷贝构造函数:一般情况下,当类中成员有指针变量、类中有动态内存分配时常常需要用户自己定义拷贝构造函数。 在什么情况下系统会调用拷贝构造函数:(三种情况)(1)用类的一个对象去初始化另一个对象时(2)当函数的形参是类的对象时(也就是值传递时),如果原创 2012-09-08 14:14:57 · 1092 阅读 · 1 评论 -
几个重要库函数的实现-strcpy,strncpy,memcpy,memset
面试官很喜欢让求职者写一些常用库函数的实现,有很多是和字符串相关的,有一些是关于内存拷贝的。一般,常会让写的函数有以下几个:strcpy , strncpy, memcpy。memset一般不会让去写,但这个函数也很有特点,有很多容易用错的地方。一并总结吧。1. strcpystrcpy函数的原型是:char * strcpy(char* dest, const char*原创 2012-10-14 11:39:39 · 21215 阅读 · 5 评论