C++静态成员函数,静态成员变量,运算符重载

时间:2014-08-29 17:50:38   收藏:0   阅读:226

当一个函数不属于某个具体的实例而属于整个类,那么这个函数最好写成静态成员函数,这样就可以直接用类名调用

Class::Func()

 

对于一般成员函数当用obj.Func()调用函数时,编译器会将其编译成TypeOf(obj)::Func()的样式,所以静态成员函数不能这么调用

友元函数和静态成员函数都不属于类,调用时都不会传入this,所以不可以使用

 

只让本类对象共享数据,让成员变量声明为static,静态数据成员的初始化要放在外面,class::name = value;因为其属于类,所以分配空间是在外面定义的时候分配,而不是在对象定义时分配

 

c++对匿名对象有优化,优化成直接创建新对象而不用再建立一个中间对象。匿名对象编译器可以尽早的释放,好的编译器可以优化

 

一般的单目:fanhuizhi operator+(){}

特殊一点的带哑元 fanhuizhi operator++(int/*有int表示后加,无int表示前加*/)

类型转换运算符的重载 fanhuizhi operator double(){},因为返回值类型和函数名一样,所以c++可以允许不写返回值类型,加boolalpha可以见Bool类型转换为true false,再缓过来就加noboolalpha

原文:http://www.cnblogs.com/yican/p/3925048.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!