关于c++ map 的理解、怎么用map存放类对象?
怎样才能实现这个程序的目的?两个类abc1abc2.分别有一些成员。主函数目的很明确了,可惜我这样实现不到用MAP来存放类对象。#include<map>#include...
怎样才能实现这个程序的目的?两个类abc1 abc2.
分别有一些成员。
主函数目的很明确了,可惜我这样实现不到用MAP来存放类对象。
#include<map>
#include<iostream>
#include<string>
using namespace std;
class abc1
{
public:
int a ;
char b;
int output(void);
abc1();
};
abc1::abc1()
{
a =1;
b = 'a';
}
int abc1::output(void)
{
cout<<"output1";
return 100;
}
class abc2
{
public:
int a ;
char b;
int output(void);
abc2();
};
abc2::abc2()
{
a =2;
b = 'b';
}
int abc2::output(void)
{
cout<<"output2";
return 200;
}
void main()
{
map<string,class abc1> dada;
abc1 a;
abc2 b;
dada["abc1"] = a;
dada["abc2"] = b;
cout<<dada["abc1"].a<<endl;
dada["abc1"].output;
dada["abc2"].output;
} 展开
分别有一些成员。
主函数目的很明确了,可惜我这样实现不到用MAP来存放类对象。
#include<map>
#include<iostream>
#include<string>
using namespace std;
class abc1
{
public:
int a ;
char b;
int output(void);
abc1();
};
abc1::abc1()
{
a =1;
b = 'a';
}
int abc1::output(void)
{
cout<<"output1";
return 100;
}
class abc2
{
public:
int a ;
char b;
int output(void);
abc2();
};
abc2::abc2()
{
a =2;
b = 'b';
}
int abc2::output(void)
{
cout<<"output2";
return 200;
}
void main()
{
map<string,class abc1> dada;
abc1 a;
abc2 b;
dada["abc1"] = a;
dada["abc2"] = b;
cout<<dada["abc1"].a<<endl;
dada["abc1"].output;
dada["abc2"].output;
} 展开
2个回答
展开全部
map<abc1,abc2> dada;
abc1 a;
abc2 b;
dada.insert(new pair<abc1, abc2>(a,b)); //插入键值对
map<abc1,abc2>::iterator iter;
iter = dada.find(a);//找键名为a的那对值
.....
abc1 a;
abc2 b;
dada.insert(new pair<abc1, abc2>(a,b)); //插入键值对
map<abc1,abc2>::iterator iter;
iter = dada.find(a);//找键名为a的那对值
.....
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询