编写一个student类
定义私有数据成员name,id,age分别用于表示姓名,学号,年龄。
完成构造函数的重载,使用不同的构造函数创建不同的对象。
完成拷贝构造函数的定义
string 类型的数据成员
/*数据成员是string类型的拷贝构造函数的实现*/
#include<iostream>
#include<string>
using namespace std;
class student {
private:
string name;
string id;
int age;
public:
student(){}
student(string i):id(i){}
student(string i,string n):name(n),id(i){}
student(string n,string i,int a):name(n),id(i),age(a){}
student(student &);
void display(){cout<<"name"<<name<<endl;}
};
student ::student(student & stu){
name=stu.name;
id=stu.id;
age=stu.age;
}
void main(){
student stu("mulina","2015122106652",23);
stu.display();
student stude(stu);
stude.display();
}
char指针类型的数据成员
/*只有类的定义不一样,main函数还是一样的*/
class student {
private:
char *name;
string id;
int age;
public:
student(){}
student(string i):id(i){}
student(string i,char n[4]):name(n),id(i){}
student(char n[4],string i,int a):name(n),id(i),age(a){}
student(student &);
void display(){cout<<"name"<<name<<endl;}
};
student ::student(student & stu){
id=stu.id;
age=stu.age;
name=new char[]; //new一个动态空间出来
for(int i=0;i<4;i++)
name[i]=stu.name[i];
}