c++类中静态成员的初始化
来源:互联网 发布:端口堵塞 华为路由器 编辑:程序博客网 时间:2024/06/04 20:15
使用c++时,我们有时会在类中设置静态成员,静态成员属于类,而不属于类具象化之后的某一对象。其初始化与一般类内成员有所区别。
方法一:类内初始化 要求静态函数是const或constexpr 类型的。例如,对于静态成员static int j; 如果采用static int j=10的初始化方法是错误的,需要保证j是常量表达式,应采用static constexpr int j=10的方式初始化。
方法二:类外初始化 看下面一个例子
首先,创建了一个含有静态成员的类test
#include <iostream>class test{
public:
//构造函数
test();
test(int a):i(a){}
//拷贝构造函数
test(test &a){i=a.i;}
//拷贝赋值操作符
test&operator=(test &a){i=a.i;return *this;}
//析构函数
~test(){};
//成员函数
void showi(){std::cout<<i<<std::endl;}
void showj(){std::cout<<j<<std::endl;}
private:
//成员
int i;
//静态成员
static int j;
};
在使用类之前,先对静态成员进行初始化,注意要用test::表明静态成员的命名空间,并且不能含有static
int test::j; //或者int test::j=10;int main()
{
test a(2);
a.showi();
a.showj();
}
0 0
- C++类中静态成员的初始化
- C++类中静态成员的初始化
- c++类中静态成员的初始化
- 类的静态成员初始化
- 类的静态成员初始化。
- 【c++】为什么类中静态(static)成员不能在类的定义内初始化?
- 静态成员的初始化顺序(C#,java)
- 类中静态变量与const常量成员的初始化
- C++中类静态成员初始化的问题
- 类中静态变量与const常量成员的初始化
- C++中静态成员的初始化
- 静态初始化类成员
- 有关类的静态成员初始化
- C++类静态成员的初始化
- C++类静态成员的初始化
- C++类静态成员的初始化
- C++类静态成员的初始化
- C++类静态成员的初始化
- java web面试题
- 15.1 装配线调度
- 客户机操作系统已禁用cpu 请关闭或重置虚拟机
- vim学习笔记
- MAC地址与IP地址的区别及联系
- c++类中静态成员的初始化
- ios开发-c语言之scanf函数和基本运算的学习
- sockaddr_in
- mysql创建
- Java设计模式-11-责任链模式
- Linux及Windows命令总结
- Drawable动画
- vijos p1919 最有活力的鲜花
- 如何提高Layout效率,看完你成大神!!!