主题:C++类初始化问题。。求教,
我是初学者,高手勿喷
我用的是VC6.0
字符串只能用字符数组输入很头疼。
我想问一下下边程序的字符数组的初始化为什么错。。
#include <iostream.h>
#include <string>
//using namespace std;
class qwer
{
public:
qwer(char y[]);
friend bool operator == (qwer &,qwer &);
friend bool operator > (qwer &,qwer &);
friend bool operator < (qwer &,qwer &);
void f();
void compare(qwer &,qwer &);
private:
char x[30];
}
qwer::qwer(char y[20])
{
strcpy(x,y); //这里有问题 这样不对吗?
}
void qwer::f()
{
cout<<x;
}
bool operator == (qwer &q1,qwer &q2)
{
if( strcmp(q1.x,q2.x)==0)
return true;
else return false;
}
bool operator > (qwer &q1,qwer &q2)
{
if(strcmp(q1.x,q2.x)>0)
return true;
else return false;
}
bool operator < (qwer &q1,qwer &q2)
{
if(strcmp(q1.x,q2.x)<0)
return true;
else return false;
}
void compare(qwer &q1,qwer &q2)
{
if((operator == (q1,q2))==1)
{
q1.f();cout<<"==";q2.f();
}
else if((operator > (q1,q2)==1))
{
q1.f();cout<<">";q2.f();
}
else if((operator < (q1,q2)==1))
{
q1.f();cout<<"<";q2.f();
}
cout<<endl;
}
int main()
{
qwer q1("China"),q2("Germany"),q3("Itaty"),q4("China");
compare(q1,q2);
compare(q1,q4);
compare(q2,q3);
compare(q2,q4);
compare(q3,q4);
return 0;
}
我用的是VC6.0
字符串只能用字符数组输入很头疼。
我想问一下下边程序的字符数组的初始化为什么错。。
#include <iostream.h>
#include <string>
//using namespace std;
class qwer
{
public:
qwer(char y[]);
friend bool operator == (qwer &,qwer &);
friend bool operator > (qwer &,qwer &);
friend bool operator < (qwer &,qwer &);
void f();
void compare(qwer &,qwer &);
private:
char x[30];
}
qwer::qwer(char y[20])
{
strcpy(x,y); //这里有问题 这样不对吗?
}
void qwer::f()
{
cout<<x;
}
bool operator == (qwer &q1,qwer &q2)
{
if( strcmp(q1.x,q2.x)==0)
return true;
else return false;
}
bool operator > (qwer &q1,qwer &q2)
{
if(strcmp(q1.x,q2.x)>0)
return true;
else return false;
}
bool operator < (qwer &q1,qwer &q2)
{
if(strcmp(q1.x,q2.x)<0)
return true;
else return false;
}
void compare(qwer &q1,qwer &q2)
{
if((operator == (q1,q2))==1)
{
q1.f();cout<<"==";q2.f();
}
else if((operator > (q1,q2)==1))
{
q1.f();cout<<">";q2.f();
}
else if((operator < (q1,q2)==1))
{
q1.f();cout<<"<";q2.f();
}
cout<<endl;
}
int main()
{
qwer q1("China"),q2("Germany"),q3("Itaty"),q4("China");
compare(q1,q2);
compare(q1,q4);
compare(q2,q3);
compare(q2,q4);
compare(q3,q4);
return 0;
}