读书人

帮小弟我看看这个程序有什么有关问题吧

发布时间: 2013-08-01 15:23:18 作者: rapoo

帮我看看这个程序有什么问题吧?


#include<iostream.h>

//file Date.h
class Date
{
public:
Date():_year(0),_month(0),_day(0){}
Date(int year, int month, int day):_year(year),_month(month),_day(day){}

void Print()
{
cout<<"year:"<<_year<<" month:"<<_month<<" day:"<<_day<<endl;
}

private:
int _year;
int _month;
int _day;
};
//end file Date.h

//file Person.h
class Person
{
public:
Person(){};
Person(char* their_name, char* email,int year,int month,int day)
:name(their_name),email_address(email),date(year,month,day){}

char * GetName();
char * GetEmailAddress();
Date GetBirthDate();

void Print()
{
date.Print();
cout<<"name is "<<name<<" email is "<<email_address<<endl;
}

private:
char* name;
char* email_address;
Date date;
}; //end file Person.h

void main()
{
Person p("yts",417,3,6,1992);
p.Print();
}

[解决办法]
构造对象时输入的参数和你定义的构造函数不一致。
[解决办法]
引用:
Quote: 引用:


//file Person.h
#include "Date.h"
class Person:public Date // 这里继承 Date类
{
public:
Person(){};
Person(char* their_name, char* email,int year,int month,int day)
:name(their_name),email_address(email),date(year,month,day){}

char * GetName();
char * GetEmailAddress();


Date GetBirthDate();

void Print()
{
date.Print();
cout<<"name is "<<name<<" email is "<<email_address<<endl;
}

private:
char* name;
char* email_address;
Date date;
}; //end file Person.h



应该不是这个问题吧,我觉得是Person里面的构造函数初始化列表有什么问题


private: 
char* name;
char* email_address; //这里是char型指针
Date date;
}; //end file Person.h

void main()
{
Person p("yts",417,3,6,1992); //这里的417是int常量!
p.Print();
}

读书人网 >C++

热点推荐