C++类的常成员函数以及静态成员函数
来源:互联网 发布:淘宝售后客服用语 编辑:程序博客网 时间:2024/05/28 05:14
1 常成员函数
1.1声明:<类型标识符>函数名(形参列表)const;
1.2说明:
1)const是函数类型的一部分,在实现部分也要带上该关键字;
2)const关键字可以用于对重载函数的区分;
3)常成员函数不能更新类的成员变量,也不可以调用类中没有用const修饰的成员函数,只能调用常成员函数,但是可以被其他成员函数调用;
4)特别地:常对象只能访问类中const成员函数(除了系统自动调用的隐含构造函数以及析构函数)
1.3例程:
class A{private: int w, h;public: int getValue()const; int getValue(); A(int x, int y):w(x), h(y){} A(){} ~A(){}};int A::getValue()const{ return w*h;}int A::getValue(){ return w+h;}int main(){ const A a(1, 2); A c(1,2); cout << a.getValue() << endl;//调用const成员函数 cout << c.getValue() << endl;//调用非const成员函数 return 0;}
2 静态成员函数
使用static修饰的成员函数,只能被定义一次,而且要被同类的所有对象所共享,它是类的一种行为,与对象无关,它有如下特点:
1)静态函数成员不可以直接访问类中非静态数据成员以及非静态成员函数,只能通过对象名(由参数传入)来访问;
2)静态成员函数在类外实现时,无需加static修饰,否则出错;
3)在类外,可以通过对象名以及类名来调用类的静态成员函数。
class B{private: int x; int y; static int count;public: B():x(0), y(0){ count++; } B(int xx, int yy):x(xx), y(yy){ count++; } static int getObjCount();};int B::count = 0;int B::getObjCount(){ return count;}int main(){ cout << B::getObjCount() << endl; B b1; B b2(10, 20); cout << b1.getObjCount() << endl; cout << b2.getObjCount() << endl; cout << B::getObjCount() << endl; return 0;}
0 0
- C++类的常成员函数以及静态成员函数
- 常对象及常成员及静态数据成员和静态成员函数的学习内容。
- 静态成员函数,静态成员数据,常成员
- C++ 静态成员函数 静态成员变量 常成员函数之前的使用
- 类的 静态成员 --- 静态成员变量 、 静态成员函数
- C++类的成员函数,静态函数以及虚函数
- 【c++】类的静态成员函数
- C++:静态类成员函数
- C++ 常成员函数以及常指针
- [C++] 静态成员函数
- 常成员函数:Const类限定的成员函数
- 用conat修饰的类成员——常成员函数、常成员数据、常引用
- 类的静态成员函数以及与别的函数区别
- C++ 关于静态成员函数和常成员函数
- 虚函数/静态成员/常成员函数重写
- 类的静态成员函数
- 类的静态成员函数
- 类的静态成员函数
- Android Studio 快捷键汇总
- 能下载url地址图片的ImageView
- lighttpd-1.4.39 : alarm
- Excel从0到1:基本功能和常用函数
- 总结云计算/OpenStack/Docker的概念理解
- C++类的常成员函数以及静态成员函数
- 转自知乎,如何成为一个全栈工程师
- api doc windows 安装方法及使用
- hibernate3报错 XXX is not mapped
- iOS面试题六
- 使用Qt开发俄罗斯方块游戏
- kill 命令杀死父进程和所有子进程
- springmvc核心类及处理流程
- 1408: [Noi2002]Robot 欧拉函数+快速幂