关于C 的一个小程序,求教~~~~~~~

[复制链接]
查看11 | 回复4 | 2011-5-27 12:47:38 | 显示全部楼层 |阅读模式
定义一个Employee类,其中包括表示姓名、街道地址、城市和邮编等属性,包括chage_name()和display()等函数;display()使用cout语句显示姓名、街道地址、城市和邮编等属性,函数change_name()改变对象的姓名属性,实现并测试这个类。


解:
源程序:
#includeiostream.h
#includestring.h

classEmployee
{
private:
charname[30];
charstreet[30];
charcity[18];
charzip[6];
public:
Employee(char*n,char*str,char*ct,char*z);
voidchange_name(char*n);
voiddisplay();
};

Employee::Employee(char*n,char*str,char*ct,char*z)
{
strcpy(name,n);
strcpy(street,str);
strcpy(city,ct);
strcpy(zip,z);
}

voidEmployee::change_name(char*n)
{
strcpy(name,n);
}

voidEmployee::display()
{
coutname\"\"street\"\";
coutcity\"\"zip;
}

voidmain(void)
{
Employeee1(\"张三\",\"平安大街3号\",\"北京\",\"100000\");
e1.display();
coutendl;
e1.change_name(\"李四\");
e1.display();
coutendl;
}
程序运行输出:
张三平安大街3号北京100000
李四平安大街3号北京100000

这个程序是教材的题的答案。其中有两个点我不太明白,第一,现在我学习C上机写小程序在#includeiostream.h要加一行usingnamespacestd;但是这个程序没加,没有错误。加了以后就出现错误。至于usingnamespacestd;到底是什么作用,我也不清楚。望解答。第二个问题,Employee(char*n,char*str,char*ct,char*z);这个构造函数在具体实施时,也就是
Employee::Employee(char*n,char*str,char*ct,char*z)
{
strcpy(name,n);
strcpy(street,str);
strcpy(city,ct);
strcpy(zip,z);
}
strcpy是什么意思,而且在主函数中,输入参数Employeee1(\"张三\",\"平安大街3号\",\"北京\",\"100000\");本来是指针的,直接用“\"”符号,就是张三两边有两个类似双引号的东西。不明白这个语法。不知道有没有耐心给我解答。。。谢谢了。
回复

使用道具 举报

千问 | 2011-5-27 12:47:38 | 显示全部楼层
#includeiostream.h要加一行usingnamespacestd
//#includeiostream要加,而#includeiostream.h就不需要加,这个你去查阅一下相关书籍或者搜一下命名空间,会比我在这里说两句效果好得多
strcpy是什么意思strcpy是C语言标准库函数,作用是复制字符串
张三两边有两个类似双引号的东西字符串都要用双引号括起来









<h4class=\"ask\">追问


\"这个符号好像不是双引号(英文半角的)的吧?
回复

使用道具 举报

千问 | 2011-5-27 12:47:38 | 显示全部楼层
就是英文半角的啊
回复

使用道具 举报

千问 | 2011-5-27 12:47:38 | 显示全部楼层
\"这个符号好像不是双引号(英文半角的)的吧?
回复

使用道具 举报

千问 | 2011-5-27 12:47:38 | 显示全部楼层
“中文”——双字节全角
\"EN\"——英文半角
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行