首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2013-08-01 
帮我看看这个程序有什么问题吧?#includeiostream.h//file Date.h class Date{public:Date():_year(0),_m

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


#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();
}

热点排行