求大神写一段c++代码,做题能做对但是自己写代码就漏洞百出,求大神指导

年龄 Age
姓名 char name
公有成员函数:
构造函数 带参数的构造函数Student(int m,char
);
不带参数的构造函数 Student()
析构函数 ~Student()
改变数据成员值函数 void SetMemer(int m,char *)
获取数据成员函数 int GetAge()
char * GetName()
要求:在main()中定义一个有3个元素的对象数组并分别初始化,然后输出对象数组的信息

class Student{
public:
Student(int m,char cName){
Age = m;
name = cName;
}
Student(){
Age = 0;
name = 'A';
}
void SetMemer(int m,char * cpName){
Age = m;
name = *cpName;
}
int GetAge(){
retrue Age;
}
char * GetName(){
retrue &name;
}
}

void main(){
Student arStudents[3];
for(int i=0;i<3; i++ ){
arStudents[i].SetMemer(i+19,new char('B'));
}
for(int j=0;j<3; j++ ){
char * Temp = arStudents[j].GetName();
cout<<*Temp<<arStudents[j].GetAge()<<endl;
}

}

// 学生类.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "iostream"
#include "conio.h"
using namespace std;

class Student
{
private:
int age;
char* name;
public:
Student(int m,char* Name);
Student();

    ~Student(){};

    void SetMemer(int m,char* ChName);

    int GetAge();
    char* GetName();

};

Student::Student(int m,char* Nam)
{
age = m;
name = Nam;
}

Student::Student()
{
age = 0;
name = "";
}

void Student::SetMemer(int m,char* ChName)
{
age = m;
name = ChName;
}

int Student::GetAge()
{
return age;
}

char* Student::GetName()
{
return name;
}
int _tmain(int argc, _TCHAR* argv[])
{
Student Stu[3];

for (int i = 0;i<3;i++)
{
    int age;
    char name[20];
    cout<<"输入第"<<i+1<<"个学生信息,Age:"<<"Name:"<<endl;
    cin>>age>>name;

    Stu[i].SetMemer(age,name);
}

for (int i = 0;i<3;i++)
{
    int age;
    char name[20];
    cout<<endl;
    cout<<"第"<<i+1<<"个学生信息,Age:"<<Stu[i].GetAge()<<"  "<<"Name:"<<Stu[i].GetName()<<endl;
}

getch();
return 0;

}



额,楼上这哥们的代码不错,赞!