| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 574 人关注过本帖
标题:帮看看这个简单的程序为什么结果有乱码,如何修改
只看楼主 加入收藏
khaz
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:130
专家分:188
注 册:2011-4-21
结帖率:77.78%
收藏
已结贴  问题点数:20 回复次数:3 
帮看看这个简单的程序为什么结果有乱码,如何修改
程序代码为:
#include<iostream>
using namespace std;

class Date {
 public:
   Date() {
      strcpy(year, "1900");
      strcpy(mon, "01");
      strcpy(year, "01");
   } Date(char *y, char *m, char *d) {
      strcpy(year, y);
      strcpy(mon, m);
      strcpy(date, d);
   }

   void print();

 private:
   char year[5];
   char mon[3];
   char date[3];
};
void Date::print()
{
   cout << year << "-" << mon << "-" << date << " ";
}

class Time {
 public:
   Time() {
      strcpy(houor, "00");
      strcpy(mini, "00");
      strcpy(second, "00");
   } Time(char *h, char *m, char *s) {
      strcpy(houor, h);
      strcpy(mini, m);
      strcpy(second, s);
   }

   void print() {
      cout << houor << "-" << mini << "-" << second << " ";
   }

 private:
   char houor[3];
   char mini[3];
   char second[3];
};



class DateTime:public Date, public Time {
 public:
   DateTime():a(2), Date(), Time() {
   } DateTime(char *yyyy, char *mm, char *dd, char *HH, char *MM, char *SS,
              int k):a(k), Date(yyyy, mm, dd), Time(HH, MM, SS) {
   }
   void print() {
      Date::print();
      Time::print();
      cout << endl;
      cout << a << endl;

   }


 private:
   int a;
};

int main()
{
   DateTime b;
   b.print();
   DateTime a("2011", "07", "05", "20", "05", "03", 3);
   a.print();
}
执行结果为:
01-01-樚?0 00-00-00
2
2011-07-05 20-05-03
3
搜索更多相关主题的帖子: 如何 private include public 
2011-07-05 21:50
lucky563591
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:765
专家分:2103
注 册:2009-11-18
收藏
得分:0 
申请的内存不够吧!
2011-07-06 07:33
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
Date::Date() 中没有对 date 赋值。
2011-07-06 08:28
guoqingchun
Rank: 2
等 级:论坛游民
帖 子:30
专家分:68
注 册:2008-6-19
收藏
得分:20 
class Date {
public:
   Date() {
      strcpy(year, "1900");
      strcpy(mon, "01");
      strcpy(date, "01");//////////////////////应该是date,你写成year了
   }
   Date(char *y, char *m, char *d) {
      strcpy(year, y);
      strcpy(mon, m);
      strcpy(date, d);
   }

   void print();

private:
   char year[5];
   char mon[3];
   char date[3];
};
2011-07-07 14:01
快速回复:帮看看这个简单的程序为什么结果有乱码,如何修改
数据加载中...
 
   



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

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