| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 820 人关注过本帖
标题:请大家帮忙看看!谢谢!
只看楼主 加入收藏
elan1986
Rank: 6Rank: 6
等 级:贵宾
威 望:18
帖 子:458
专家分:407
注 册:2007-12-17
结帖率:100%
收藏
 问题点数:0 回复次数:5 
请大家帮忙看看!谢谢!
#include<iostream>
using namespace std;
class date
{
public:
    date(int year=1900,int month=1,int day=1) {Xyear=year; Xmonth=month; Xday=day;}
    date(date &p);
    int GetYear()  {return Xyear;}
    int Getmonth() {return Xmonth;}
    int Getday()   {return Xday;}
    void showdate();
private:
    int Xyear,Xmonth,Xday;
};

date::date(date &p)
{
    Xyear=p.Xyear;
    Xmonth=p.Xmonth;
    Xday=p.Xday;
}

inline void date::showdate()
{
    cout<<"出生日期:"<<Xyear<<"年"<<Xmonth<<"月"<<Xday<<"日"<<endl;
}

class people
{
public:
    people(int no,char sex,date birthday,int id);
    people(people &);
    ~people();
    void showpeople();

private:
    int No,Id;
    char Sex;
    date Birthday;
};

people::people(int no,char sex,date birthday,int id):Birthday(birthday)
{
    int    No=no;
    char Sex=sex;
    int Id=id;
}

people::people(people &) {}

people::~people() {}

 inline void people::showpeople()
{
    cout<<"编号为:"<<No<<"性别为:"<<Sex<<"出生日期为:"<<endl;
    Birthday.showdate();
    cout<<"身份证为:"<<Id<<endl;
}

void main()
{
    date aa(1986,5,24);
    int no,id,year,month,day;
    char sex;
    people bb(no,sex,aa,id);
    cout<<"请分别输入编号,性别,出生日期和身份证号码:"<<endl;
    cout<<"请输入编号:"<<endl;
    cin>>no;
    cout<<"请输入性别:"<<endl;
    cin>>sex;
    cout<<"请输入年份:"<<endl;
    cin>>year;
        aa.GetYear();
    cout<<"请输入月份:"<<endl;
    cin>>month;
        aa.Getmonth();
    cout<<"请输入日:"<<endl;
    cin>>day;
        aa.Getday();
    cout<<"请输入ID:"<<endl;
    cin>>id;
    cout<<"我的信息是:"<<endl;
    bb.showpeople();
}

程序编译没有问题
但是在运行后会出现这个问题
Loaded 'ntdll.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\kernel32.dll', no matching symbolic information found.
The thread 0xC74 has exited with code -858993460 (0xCCCCCCCC).
The program 'E:\C++\c++试验记录\2008-10-8\lch\Debug\lch.exe' has exited with code -858993460 (0xCCCCCCCC).
请大家帮忙看看
谢谢了!
搜索更多相关主题的帖子: void private include 出生日期 
2008-10-08 19:46
Naturelove
Rank: 1
来 自:浙江
等 级:新手上路
帖 子:21
专家分:0
注 册:2008-10-1
收藏
得分:0 
感觉你错的好多的,例如你在main中cin>>year,然后企图用aa.GetYear()得到这个值根本是不饿可能的,所以其他的都不对,还不如定义input函数在调用清楚方便

Any difficulty is to make me strong.
2008-10-08 21:30
Naturelove
Rank: 1
来 自:浙江
等 级:新手上路
帖 子:21
专家分:0
注 册:2008-10-1
收藏
得分:0 
我这里也能运行但是完全不是你想要做到的那种

Any difficulty is to make me strong.
2008-10-08 21:31
choco1024
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:183
专家分:140
注 册:2008-8-31
收藏
得分:0 
有点乱。
2008-10-12 15:25
kakaqq
Rank: 1
等 级:新手上路
威 望:1
帖 子:48
专家分:0
注 册:2008-10-7
收藏
得分:0 
很混乱啊···2楼的说得对啊你好好看看怎么访问私有数据成员的。
2008-10-12 18:49
kakaqq
Rank: 1
等 级:新手上路
威 望:1
帖 子:48
专家分:0
注 册:2008-10-7
收藏
得分:0 
#include<iostream>
using namespace std;
class date
{
public:
    date(int year=1900,int month=1,int day=1) {Xyear=year; Xmonth=month; Xday=day;}
    date(date &p);
    int GetYear()  {return Xyear;}
    int Getmonth() {return Xmonth;}
    int Getday()   {return Xday;}
    void showdate();
    friend class people;
private:
    int Xyear,Xmonth,Xday;
};

date::date(date &p)
{
    Xyear=p.Xyear;
    Xmonth=p.Xmonth;
    Xday=p.Xday;
}

inline void date::showdate()
{
    cout<<"出生日期:"<<Xyear<<"年"<<Xmonth<<"月"<<Xday<<"日"<<endl;
}

class people
{
public:
    people(int ,char *,int ,int,int,int );
    people(people &);
    ~people();
    void showpeople();

private:
    int No,Id;
    char Sex[10];
    date Birthday;
};

people::people(int no,char *s ,int id,int xyear,int xmonth,int day)
{
    this->No=no;
    strcpy(this->Sex,s);
    this->Id=id;
    Birthday.Xyear=xyear;Birthday.Xmonth=xmonth;Birthday.Xday=day;
}

people::people(people &) {}

people::~people() {}

inline void people::showpeople()
{
    cout<<"编号为:"<<No<<"性别为:"<<Sex<<endl;
    Birthday.showdate();
    cout<<"身份证为:"<<Id<<endl;
}

void main()
{
    int no,id,year,month,day;
     char sex[10];
    cout<<"请分别输入编号,性别,出生日期和身份证号码:"<<endl;
    cout<<"请输入编号:"<<endl;
    cin>>no;
    cout<<"请输入性别:"<<endl;
    cin>>sex;
    cout<<"请输入年份:"<<endl;
    cin>>year;
      
    cout<<"请输入月份:"<<endl;
    cin>>month;
      
    cout<<"请输入日:"<<endl;
    cin>>day;
      
    cout<<"请输入ID:"<<endl;
    cin>>id;

   
    date aa(year,month,day);
    people bb(no,sex,id,year,month,day);
    cout<<"我的信息是:"<<endl;
    bb.showpeople();
}
给你改过来了。看看行不行。你错好多地方、主要是访问权限没搞清楚。把people设成data的友元就可以直接访问了你原来的data没有赋值啊
people::people(int no,char sex,date birthday,int id):Birthday(birthday)
这句话根本不行啊。建议把书好好看。
2008-10-12 19:24
快速回复:请大家帮忙看看!谢谢!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029430 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved