求解这是什么有关问题哟

求解这是什么问题哟!
#include <iostream.h>
#include <string.h>
class Student
{
char Num[11];
char *Name;
char Sex;
double Score[3];
public:
Student(char *nump,char *namep,char sexp,double *scorep)
{
if(nump)
strcpy(Num,nump);
else
strcpy(Num," ");
if(namep)
{
Name=new char[strlen(namep)+1];
strcpy(Name,namep);
}
else
Name=0;
Sex=sexp;
if(scorep)
{
for(int i=0;i<3;i++)
Score[i]=scorep[i];
}
else
*Score=NULL;
cout<<"Constructor Called 1 !\n";
}
Student(Student &stud)
{
if(stud.Num)
strcpy(Num,stud.Num);
else
strcpy(Num," ");
if(stud.Name)
{
Name=new char[strlen[stud.Name]+1];
strcpy(Name,stud.Name);
}
else
Name=0;
Sex=stud.Sex;
if(stud.Score)
{
for(int i=0;i<3;i++)
Score[i]=stud.Score[i];
}
else
*Score=NULL;
cout<<"Constructor Called 2 !\n";
}
~Student()
{
if(Name) delete [] Name;
cout<<"Destructor Called!\n";
}
void show()
{
cout<<"学号为:"<<Num<<endl;
cout<<"姓名为:"<<Name<<endl;
cout<<"性别为:"<<Sex<<endl;
cout<<"各科成绩如下:";
for(int i=0;i<3;i++)
cout<<Score[i]<<'\t';
cout<<endl;
}
};
void main()
{
int b[]={100,99,98};
Student a={"12345","XXX","男",b};
a.show();
Student c=a;
c.show();
}


不能编译通过







------解决方案--------------------
C/C++ code

#include <iostream>
#include <string>
using namespace std;
class Student
{
private:
    char Num[11];
    char *Name;
    char Sex[5];//将char sex改为char sex[5]
    double Score[3];
public:
    Student(char *nump,char *namep,char *sexp,double *scorep)//将char sexp改为char *sexp
    {
        if(nump)
            strcpy(Num,nump);
        else
            strcpy(Num," ");
        if(namep)
        {
            Name=new char[strlen(namep)+1];
            strcpy(Name,namep);
        }
        else
            Name=0;
        //Sex=sexp;
        strcpy(Sex,sexp);
        if(scorep)
        {
            for(int i=0;i<3;i++)
                Score[i]=scorep[i];
        }
        else
            *Score=NULL;
        cout<<"Constructor Called 1 !\n";
    }
Student(Student &stud)
{
    if(stud.Num)
        strcpy(Num,stud.Num);
    else
        strcpy(Num," ");
    if(stud.Name)
    {
        //Name=new char[strlen[stud.Name]+1];
        Name=new char[strlen(stud.Name)+1];
        strcpy(Name,stud.Name);
    }
    else
        Name=0;
    //Sex=stud.Sex;
    strcpy(Sex,stud.Sex);
if(stud.Score)
{
for(int i=0;i<3;i++)
Score[i]=stud.Score[i];
}
else
*Score=NULL;
cout<<"Constructor Called 2 !\n";
}
~Student()
{
if(Name) delete [] Name;
cout<<"Destructor Called!\n";
}
void show()
{
cout<<"学号为:"<<Num<<endl;
cout<<"姓名为:"<<Name<<endl;
cout<<"性别为:"<<Sex<<endl;
cout<<"各科成绩如下:";
for(int i=0;i<3;i++)
cout<<Score[i]<<'\t';
cout<<endl;
}
};
void main()
{
    //int b[]={100,99,98};
    double b[]={100,99,98};//int 改为double
    //Student a={"12345","XXX","男",b};
    Student a("12345","XXX","男",b);
    a.show();
    Student c=a;
    c.show();
}
//太多问题了,我只是让他编译通过了,还有很多问题存在的,楼主再去琢磨一下吧