| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1966 人关注过本帖
标题:一个关于map对象保存的问题
取消只看楼主 加入收藏
yanglinayp
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2006-3-21
收藏
 问题点数:0 回复次数:3 
一个关于map对象保存的问题
这是一个map对象保存的程序,我弄不清楚的是书上说定义word类对象的运算符<,是为了维护一个有序的关健字列表,那这个运算符是什么时候调用的呢?又是怎么完成关健字有序的呢?还有关于 word (){strcpy(str,"");} 和 word(char *s){strcpy(str,s);}在程序中又起到什么作用呢?无参的构造函数有被调用过吗?它们是在dictionary.insert(pair<word,meaning>(word("house"),meaning("a place of dwelling.")));等一系列语句的实现中被调用的吗?可这个插入语句并没有创建对象啊,那它又是怎样实现一个有序的序列的呢?这些疑惑真是把我给弄的晕了!还请大家多多指教!!!谢谢


#include <iostream>
#include <map>
#include <cstring>
using namespace std;
class word{
char str[20];
public:
word (){strcpy(str,"");}
word(char *s){strcpy(str,s);}
char *get(){return str;}
};
bool operator<(word a,word b){
return strcmp(a.get(),b.get())<0;
}
class meaning{
char str[80];
public:
meaning(){strcmp(str,"");}
meaning(char *s){strcpy(str,s);}
char *get(){return str;}
};
int main()
{
map<word,meaning>dictionary;
dictionary.insert(pair<word,meaning>(word("house"),meaning("a place of dwelling.")));
dictionary.insert(pair<word,meaning>(word("keyboard"),meaning("an input device.")));
dictionary.insert(pair<word,meaning>(word("programming"),meaning("the act of writing a program.")));
dictionary.insert(pair<word,meaning>(word("stl"),meaning("standard template library")));
char str[80];
cout<<"enter word";
cin>>str;
map<word,meaning>::iterator p;
p=dictionary.find(word(str));
if(p!=dictionary.end())
cout<<"definition"<<p->second.get();
else
cout<<"word not in dictionary.\n";
return 0;
}

[此贴子已经被作者于2006-5-16 21:18:59编辑过]

搜索更多相关主题的帖子: map 对象 保存 
2006-05-16 21:17
yanglinayp
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2006-3-21
收藏
得分:0 
谢谢

我是小小登山者!
2006-05-17 21:38
yanglinayp
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2006-3-21
收藏
得分:0 
dictionary.insert(pair<word,meaning>(word("programming"),meaning("the act of writing a program.")));
还有一个问题,上面这条语句在执行时应该既调用了有参的构造函数,又调了<运算符重载吧,那它又是按怎么一个先后顺序进行的呢??是不是先创建的对象调用构造函数,然后在插入时调用运算符重载???

[此贴子已经被作者于2006-5-17 22:49:54编辑过]


我是小小登山者!
2006-05-17 21:52
yanglinayp
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2006-3-21
收藏
得分:0 
thank!

我是小小登山者!
2006-05-18 19:55
快速回复:一个关于map对象保存的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020202 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved