运算符重载就是对已有的运算符赋予多重含义,使同一个运算符作用于不同类型的数据时导致不同的行为。
实质: 函数重载。在实现过程中,首先把制定的运算表达式转化为对运算符函数的调用,将运算对象转化为运算符函数的实参,然后根据是惨的类型来确定需要调用的函数,这个过程是在编译过程中完成的。
运算符重载的形式有两种,即重载为类的非静态成员函数和重载为非成员函数。
运算符重载为类的成员函数的一般语法形式为:...
分类:
其他好文 时间:
2016-05-12 20:13:06
阅读次数:
150
技巧
本书涉及的大多数内容都是编程的指导准则。这些准则虽是重要的,但是程序员不能单靠准则生活。有一个很早以前的卡通片叫做“菲利猫”(Felix the Cat), 菲利猫无论何时遇到困难,它都会拿它的trick包。如果一个卡通角色都有一个trick包,那么C++程序员就更应该有了。把这一章想成你的trick包的启动器。
当设计C++软件时,总会再三地受到一些问题的困扰。你如何让...
分类:
编程语言 时间:
2016-05-07 08:50:47
阅读次数:
272
常见的不不能声明为虚函数的有:普通函数(非成员函数);静态成员函数;内联成员函数;构造函数;友元函数。 1.为什么C++不支持普通函数为虚函数? 普通函数(非成员函数)只能被overload,不能被override,声明为虚函数也没有什么意思,因此编译器会在编译时邦定函数。 多态的运行期行为体现在虚 ...
分类:
编程语言 时间:
2016-04-24 20:16:45
阅读次数:
177
所在头文件:<string>实现:typedfbasic_string<char>string所在命名空间:std功能:标准string提供字节标准容器的接口,同事增加对字符串中单独的字符的操作。由于标准string是basic_string<char>的一种特化,只能针对char型,如果字符编码方式是多字节或者..
分类:
其他好文 时间:
2016-04-07 18:44:23
阅读次数:
258
1.友元函数(例子摘自网上) 友元函数的特点是能够访问类中的私有成员的非成员函数。友元函数从语法上看,他和普通函数相同,即在定义上和调用上和普通函数相同。下面举一例子说明友元函数的应用。 class Point { public: Point(double xx, double yy) { x=xx
分类:
编程语言 时间:
2016-01-29 20:44:13
阅读次数:
244
课程内容C++发展简述头文件(guard declaration,内容,结构,访问控制,友元)构造函数(initial list, default para)参数与返回值传递(by value & by reference,const)操作符重载(成员函数与非成员函数)STL中Complex类举例解...
分类:
编程语言 时间:
2016-01-14 09:46:23
阅读次数:
187
原文地址:http://blog.chinaunix.net/uid-790245-id-2037327.html问题提出: 我们已知道类具备封装和信息隐 藏的特性。只有类的成员函数才能访问类的私有成员,程式中的其他函数是无法访问私有成员的。非成员函数能够访问类中的公有成员,但是假如将数据成员都定....
分类:
编程语言 时间:
2015-12-03 11:43:07
阅读次数:
159
我们已知道类具备封装和信息隐藏的特性。只有类的成员函数才能访问类的私有成员,程式中的其他函数是无法访问私有成员的。非成员函数能够访问类中的公有成员,但是假如将数据成员都定义为公有的,这又破坏了隐藏的特性。另外,应该看到在某些情况下,特别是在对某些成员函数多次调用时,由于参数传递,类型检查和安全性.....
分类:
编程语言 时间:
2015-11-06 17:47:10
阅读次数:
262
宁non-member、non-friend顶替member性能本节介绍笔者为什么时间来实现某些功能。择非成员函数而且是非友元函数。这样做总结一句话,就是最大限度的实现类的封装性。封装意味着不可见。愈多东西被封装。欲少人能够看到它,我们就有愈大的弹性去改变它。愈少代码能够看到数据(訪...
分类:
编程语言 时间:
2015-10-27 20:02:00
阅读次数:
177
3.8 友元:友元函数和友元类友元函数 :既可以是不属于任何类的非成员函数,也可以是另一个类的成员函数,统称为友元函数。友元函数不是当前类的成员函数,而是独立于类的外部函数,但它可以访问该类所有的成员,包括私有成员、保护成员和公有成员。在类中声明友元函...
分类:
编程语言 时间:
2015-10-26 22:23:30
阅读次数:
303