C++ 如何用map来存放类

R了个T..我定义了一个mapmap<string,classTextClass>MyMap;ifstreamifText("//");stringstrWord;ifT... R了个T ..我定义了一个map
map<string , class TextClass> MyMap;
ifstream ifText("//");
string strWord;
ifText >> strWord;
请问怎么做到每读入一个string类型的strWord就生成相对应的类并且插入map中?
谢谢!
展开
 我来答
千锋教育
2015-12-06 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部

直接通过 索引 [key] 就行了。

#include <iostream>
#include <map>
using namespace std;

int main()
{
    map<int, char>m;
    m.insert(pair<int,char>(0, 'a'));
    m.insert(pair<int,char>(1, 'b'));
    m.insert(pair<int,char>(2, 'c'));
    cout << m[1] << endl;
}

tattackor
2015-10-29 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:859万
展开全部

1、map是模板,一个map变量key和value两个值,你在这里是想用类似map<int,int> m_map的变量来表示背包里的东西,m_map->first可以取得key值,m_map->second可以取得value值;map自动按照key值按升序排列,key的值不能修改,可以修改value的值。

2、例程:

class TextClass
{
string a;
public:
TextClass(string _a):a(_a){}
};
map<string , TextClass>  MyMap;
ifstream ifText("//");
string strWord;
        ifText >> strWord;
map[strWord] = TextClass(strWord);//这样就算插入了。map可以当做高效数组来访问。
有点像C#里面的数组
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bear1200
推荐于2018-03-26 · TA获得超过383个赞
知道小有建树答主
回答量:755
采纳率:0%
帮助的人:474万
展开全部
class TextClass
{
string a;
public:
TextClass(string _a):a(_a){}
};

map<string , TextClass> MyMap;
ifstream ifText("//");
string strWord;
ifText >> strWord;
map[strWord] = TextClass(strWord);//这样就算插入了。map可以当做高效数组来访问。
有点像C#里面的数组
追问
谢谢回答!
还有两个小问题:
1、这样建立的类分别都是对应的strWord作为类名么?
2、如果map[strWord] = TextClass(strWord); 这一语句中strWord在map中已经存在,那么会发生什么情况?
追答
会覆盖原来的值。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式