码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2014-08-29 17:50:38      阅读:306      评论:0      收藏:0      [点我收藏+]

标签:使用   数据   sp   c   c++   type   ui   对象   as   

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

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

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

标签:使用   数据   sp   c   c++   type   ui   对象   as   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!