C++类的初始化有多种形式。
如:
Stu s1;
Stu s2=Stu();
Stu * s3=new Stu;
Stu * s4=new Stu();
Stu s5=Stu(8,"star");
Stu * s6=new Stu(12,"hsu");
其中s3、s4、s6是指向Stu的指针。注意他们访问类成员的形式。
简单示例:
#include <iostream>
#include <cstring>
using namespace std;
class Stu
{
private:
int id;
char name[20];
public:
Stu();
Stu(int uid,const char * uname);
int getid();
char * getname();
void showname();
};
Stu::Stu()
{
id=1;
strcpy(name,"hsing hsu");
}
Stu::Stu(int uid,const char * uname)
{
id=uid;
strcpy(name,uname);
}
int Stu::getid()
{
return id;
}
char * Stu::getname()
{
return name;
}
void Stu::showname()
{
cout<<name<<endl;
}
int main()
{
/***********************************************/
Stu s1;
Stu s2=Stu();
Stu * s3=new Stu;
Stu * s4=new Stu();
s1.showname();
s2.showname();
s3->showname();
s4->showname();
cout<<s1.getid()<<endl;
cout<<s1.getname()<<endl;
/***********************************************/
Stu s5=Stu(8,"star");
Stu * s6=new Stu(12,"hsu");
s5.showname();
s6->showname();
cout<<(*s6).getid()<<endl;
/***********************************************/
return 0;
}
运行结果:
hsing hsu
hsing hsu
hsing hsu
hsing hsu
1
hsing hsu
star
hsu
12