C++类中静态数据成员MAP如何初始化
来源:互联网 发布:未闻花名但知花香 编辑:程序博客网 时间:2024/05/16 08:26
在写C++时,博主遇到对类中静态的map进行初始化的问题,在不断尝试中找到了一种解决方案。
如下所示:
我们可以在类中写一个私有的静态成员函数用于对map初始化。
CGuitarSpec.h
class GuitarSpec//吉他的部分属性{public: string GetColor(); int SetColor(Color); string GetType(); int SetType(Type); bool operator==(const GuitarSpec &TempGuitarSpec);private: Type type; Color color; static map<int, string> Mtype; static map<int, string> Mcolor; static map<int, string> CreateMtype() { map<int, string> TempMtype; TempMtype.insert(pair<int, string>(popular,"popular")); TempMtype.insert(pair<int, string>(classical,"classical")); return TempMtype; } static map<int, string> CreateMcolor() { map<int, string> TempMColor; TempMColor.insert(pair<int, string>(red,"red")); TempMColor.insert(pair<int, string>(yellow,"yellow")); TempMColor.insert(pair<int, string>(blue,"blue")); TempMColor.insert(pair<int, string>(green,"green")); return TempMColor; }};
GuitarSpec.cpp
#include "CGuitarSpec.h"map<int, string> GuitarSpec::Mtype = GuitarSpec::CreateMtype();//静态数据成员初始化map<int, string> GuitarSpec::Mcolor = GuitarSpec::CreateMcolor();//静态数据成员初始化
如此便实现了对C++类中对静态map的初始化。
博主在这里将私有静态函数的实现放在了头文件中,建议大家将其实现放在.cpp中。
阅读全文
0 0
- C++类中静态数据成员MAP如何初始化
- C++中类静态成员map初始化操作
- c++中静态const型map成员变量的初始化
- C++ 如何初始化静态类成员
- C++ 如何初始化静态类成员
- C++ 初始化类的常量数据成员、静态数据成员、常量静态数据成员
- C++ 初始化类的常量数据成员、静态数据成员、常量静态数据成员
- C++ 初始化类的常量数据成员、静态数据成员、常量静态数据成员
- C++ 初始化类的常量数据成员、静态数据成员、常量静态数据成员
- C++ 初始化类的常量数据成员、静态数据成员、常量静态数据成员
- C++ 初始化类的常量数据成员、静态数据成员、常量静态数据成员
- C++ 初始化类的常量数据成员、静态数据成员、常量静态数据成员
- static(静态)变量的作用、初始化特点以及类中静态数据成员的特点
- C++类中静态成员的初始化
- C++类中静态成员的初始化
- c++类中静态成员的初始化
- 静态初始化类成员
- C++中复杂静态数据成员的初始化
- sgu232(最小表示法)
- 解决Linux重启redis数据丢失
- Matlab调用子文件夹下面的m文件
- NYOJ35表达式求值
- LTE 系统信息SI
- C++类中静态数据成员MAP如何初始化
- 排序--归并排序
- elasticsearch 2种客户端的区别
- ZooKeeper系列(二)
- 安装Redis
- java 处理.net发送过来的数组,数组转换为java的基本类型,涉及到高低位转换
- 两年的工作现状
- HDU-4300:Clairewd’s message(kmp+略微脑洞)
- linux常用压缩、解压缩命令