我修改了下,下面的代码在Windows XP + VC++6.0下正常运行,直接复制粘贴就行了
有2点是你需要注意的
(1)题目的意思是:
"当输入:"后面的那句"How about you?"和"输入:"后的那句"OK"是由你从键盘中输入的,其它的都由程序自动输出
(2)你存在很多语法错误
比如C++中是分大小写的,可你的代码中大小写不分;
类成员函数的定义格式也不对
建议你先看一下C++基础教材,先掌握语法,模仿教材上的设计
#include
#include
using namespace std;
class Welcome
{
private:
char str[128];
public:
Welcome(char s[]="Welcome!");
Welcome (Welcome &);
void set(char []);
void display();
char *Get();
void talk();
~Welcome();
};
Welcome::Welcome(char s[])//默认参数值在函数声明中已写了,此处若改为char s[]="Welcom!"错
{
strcpy(str,s);//把字符串数组s中的所有字符,拷贝到字符串数组str中
}
Welcome::Welcome(Welcome &c)//拷贝构造函数
{
strcpy(str,c.str);
}
void Welcome::set(char s[])
{
strcpy(str,s);
}
void Welcome::display()
{
cout<
char* Welcome::Get()
{
return str;
}
Welcome::~Welcome()
{
cout<<"Goodbye!"<
void Welcome::talk()
{
char s[128];
cout<<"当输入:";
cin.getline(s,128);//不用cin>>s;因为输入为几个字符串
while(strcmp(s,"OK")!=0)//s不等于"OK"时,循环输出及输出
{
cout<<"就输出:"< cout<<"输入:";
cin.getline(s,128);
}
strcpy(str,"OK");//或strcpy(str,s);因为执行到这个指令时,必有s="OK"
cout<<"All right!"<
void main()
{
Welcome we;
Welcome you(we);
you.display();
you.set("Thank you.");
cout<
you.display();
}
/*运行结果
Welcome!
Thank you.
当输入:How about you?
就输出:How about you?
输入:OK
All right!
Goodbye!
OK
Goodbye!
Goodbye!
Press any key to continue
*/