两个重要的难题(急需帮助!)

来源:百度知道 编辑:UC知道 时间:2024/06/04 02:47:03
#include<iostream.h>
#include<string.h>
class string
{
char name[256];
public:
string(char *str)
{
strcpy(name,str);
}
string(){}
string operator+(const string &);
void display()
{
cout<<"the string is :"<<name<<endl;
}
};

#include"aa.h"
static char *str;
string string::operator +(const string&a)
{
strcpy(str,name);
strcat(str,a.name);
return String(str);
}

#include"aa.h"
void main()
{
str=new char[256];
string demol("visual c++");
string demo2("6.0");
demol.display();
demo2.display();
string demo3=demol+demo2;
demo3.display();
string demo4=demo3+"programming.";
demo4.display();
delete str;
}

这题中有两个问题:
1-怎样才能在不同文件中共用同一个全局变量(也就是本题中的 char *str);
(我知道它在本题中

//哦.那我不懂了.

#include<iostream>

static char *str;
namespace strings
{
class string
{
char name[256];
public:
string(string& s)
{
strcpy(name,s.name);
}
string(char *str)
{
strcpy(name,str);
}
string(){}
string operator+(const string& a)
{
strcpy(::str,name);
strcat(str,a.name);
return string(::str);
}
void display()
{
std::cout<<"the string is :"<<name<<std::endl;
}
};
}
////////////////////////////////////上面是aa.h//////////////////////////////////////////

//////////////////下面是main()函数===========================
#include "aa.h"

using namespace strings;

int main()
{
::str=new char[256];
string demol("visual c++");
string demo2("6.0")