C++类中静态变量和静态方法的注意事项
来源:互联网 发布:肌研极润怎么样知乎 编辑:程序博客网 时间:2024/05/18 03:45
在C++中,静态成员是属于整个类的而不是某个对象,静态成员变量只存储一份供所有对象共用。所以在所有对象中都可以共享它。使用静态成员变量实现多个对象之间的数据共享不会破坏隐藏的原则,保证了安全性还可以节省内存。
static成员的所有者是类本身和对象,但是多个对象拥有一样的静态成员。从而在定义对象时不能通过构造函数对其进行初始化; 静态成员不能在类定义里边初始化,只能在class body外初始化; 静态变量依旧符合public、private、protect特性; 静态成员函数没有this指针,它不能返回非静态成员,因为除了对象会调用它外,类本身也可以调用 。
一 静态变量
1、静态变量必须在外部定义和赋值
a、不能在 main() 函数中定义
b、不能在类的构造函数中定义
2、必须要定义静态变量,否则该变量没有内存空间(类中只是申明)
3、类本身可以直接调用静态变量
4、静态变量依旧符合public、private、protect特性
二 静态方法
1、静态方法可以被类直接调用,但是同静态变量一样符合public、private、protect特性
2、静态成员函数不可以调用类的非静态成员。因为静态成员函数不含this指针。
3、静态成员函数不可以同时声明为 virtual或后缀const 函数。因为virtual就是用来区分是哪个对象调用了他,与静态方法矛盾。而后缀const是用来修饰this指针的,静态变量中不包含this指针。
a、不可以同时声明为 virtual
b、不可以同时声明为后缀const
0 0
- C++类中静态变量和静态方法的注意事项
- 静态变量/静态方法调用的注意事项
- java中静态方法和静态变量的…
- C++类中静态变量和静态方法使用介绍!
- C++类中静态变量和静态方法使用介绍
- C++类中静态变量和静态方法使用介绍
- java的静态方法和静态变量
- Java的静态变量和静态方法
- 静态变量和静态方法的访问
- PHP类的静态方法和静态变量
- PHP类的静态方法和静态变量
- PHP类的静态(static)方法和静态(static)变量
- java中静态的代码块,静态变量,静态方法
- java中静态的代码块,静态变量,静态方法
- 静态变量和静态方法
- 静态变量和静态方法
- 静态变量和静态方法
- 静态方法和静态变量
- leetcode[224]:Basic Calculator
- 字符串指针与char型指针数组
- KNN算法学习--python实现和java实现
- 设计模式之-----建造者模式
- 曾国藩:成大事者不纠结
- C++类中静态变量和静态方法的注意事项
- AfxGetApp()解析
- poj3267 The Cow Lexicon -DP
- Struts2-02
- zoj博弈月赛
- OC 基础知识要点
- C++的头文件和实现文件分别写什么
- 无标题窗口拖动
- Sublime Text 3 注册码、插件