青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

頂著一頭亂發(fā)的獅子

堅(jiān)定的理想主義者.

  C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
  3 隨筆 :: 0 文章 :: 14 評(píng)論 :: 0 Trackbacks

初學(xué)C++,這是一個(gè)構(gòu)造函數(shù)重載的小小程序。int 造成了溢出,我到現(xiàn)在還不知道是怎么一回事?把紅色標(biāo)志的int去掉輸入就正確了。WHY?
#include<iostream.h>
class date{

    int dayth;
public:
    date(int day);
    date(int day,int month);
    date(int day,int month,int year);
    int getdate();
};

date::date(int day){

dayth=day;

}

date::date(int day,int month){
    int i;
    int th[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
    int dayth=0;
    for(i=0;i<month;i++)
    {dayth=dayth+th[i];}
    dayth=dayth+day;
}

date::date(int day,int month,int year){
    int i;
    int th[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
    int dayth=0;

    if((year%4==0&&year%100!=0)||year%400==0)
 {

         for(i=0;i<month;i++)
         {dayth=dayth+th[i];}
         dayth=dayth+day;
         if(month>2)
         dayth=dayth+1;
 }
else{


   for(i=0;i<month;i++)
   {dayth=dayth+th[i];}
   dayth=dayth+day;

}

}

   int date::getdate(){
   return dayth;
}

int main(){

int day;
int month;
int year;
cout<<"輸入日期:";
cin>>day;
cout<<"輸入月份:";
cin>>month;
cout<<"輸入年份:";
cin>>year;
date q1(day);
date q2(day,month);
date q3(day,month,year);
cout<<"此日是一年的第"<<q1.getdate()<<"天\n";
cout<<"此日是一年的第"<<q2.getdate()<<"天\n";
cout<<"此日是一年的第"<<q3.getdate()<<"天\n";
return 1;
}

posted on 2005-12-12 21:23 10003 閱讀(1705) 評(píng)論(8)  編輯 收藏 引用

評(píng)論

# re: int 到底在干什么? 2005-12-13 01:31 蔡蔡
你不是在class date聲明中聲明了一個(gè)成員變量是dayth了嘛,在date的范疇中,dayth被認(rèn)為已經(jīng)定義了,不能再在date類中定義其他叫做dayth的變量了。  回復(fù)  更多評(píng)論
  

# re: int 到底在干什么? 2005-12-13 10:01 e夜星空
'int'在干你讓他干的事!
就像以下語句中的類型'float'一樣,是聲明其后變量的類型:
float fool_donkey;
自然以下語句是在聲明clever_donkey為int類型變量同時(shí)初始化其值為748:
int clever_donkey = 748;

如果你把函數(shù)中的兩個(gè)dayth前的類型'int'改為'float',就好解釋一些了:
在類date里聲明了一個(gè)整型的變量名為dayth,而在date的成員函數(shù)date::date()里又聲明了一個(gè)float型變量,它的名字也叫dayth。
注意上面的*‘也’*字,它表明函數(shù)里的dayth并不是類成員的dayth,
它們只是同名的不同變量,
所以函數(shù)對(duì)dayth賦值都是對(duì)它自己聲明的臨時(shí)變量操作(與那個(gè)同名的類成員無關(guān))。

可以把class date的聲明改成以下形式,整個(gè)程序效果是一樣的。
class date{
//int dayth;
int not_used_dayth;

public:
date(int day);
date(int day,int month);
date(int day,int month,int year);
int getdate();
};

這個(gè)問題就是C++中的命名空間相關(guān)的,
一個(gè)class是一個(gè)空間,就如中國
類的成員函數(shù)是其下的子空間,你可以當(dāng)作是北京市。
中國國家主席是錦濤,
北京市某家庭剛出生的一個(gè)小孩也被你父親起名為錦濤。
這樣在他們家里每次叫錦濤的時(shí)候,
你覺得他們在叫誰?

那么回到你的程序中,
明明類已經(jīng)有一個(gè)錦濤(dayth),
你就是給你的孩子起名叫錦濤(dayth),甚至連姓都和人家一樣(int),
你還說不清楚你在干什么?還問人家我那個(gè)'int'起什么作用?

笑話!
你把紅色的'int'去掉又是什么意思呢?
沒有int的語句如下:
clever_donkey = you;
是一個(gè)賦值語句,就像你在家說“錦濤吃飯了”,
毫沒有給你們家的小孩起名為錦濤的意思,
以后每行語句中出現(xiàn)的“錦濤”都是我們的國家主席該做什么什么。

  回復(fù)  更多評(píng)論
  

# re: int 到底在干什么? 2005-12-13 15:40 初始化
不知道樓上兩位是不是真的懂點(diǎn)語言,或者OO,
這是一個(gè)很基礎(chǔ)的關(guān)于全局變量和局部變量的問題,當(dāng)在函數(shù)內(nèi)部定義了與全局變量同名的變量時(shí),本函數(shù)內(nèi)處理局部變量,但是在你調(diào)用getdate()時(shí),是返回的這個(gè)類的全局變量,而不是類中某個(gè)函數(shù)的局部變量。函數(shù)中的局部變量在離開這個(gè)類后就釋放了。
拜托各位先好好學(xué)習(xí)基礎(chǔ)知識(shí),這種問題都沒有人愿意來理了。

date::date(int day,int month){
int i;
int th[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int dayth=0;
for(i=0;i<month;i++)
{dayth=dayth+th[i];}
dayth=dayth+day;
}
舉這個(gè)例子,
你在函數(shù)內(nèi)部定義了一個(gè)新的變量:
int dayth=0; 賦值為0,所以在這個(gè)函數(shù)中類的屬性(或者變量)就不再包含。當(dāng)該函數(shù)結(jié)束時(shí),這個(gè)函數(shù)內(nèi)部的變量就被釋放了,而在調(diào)用這個(gè)函數(shù)date(int day,int month)的過程中,都沒有改變你的類屬性dayth,而調(diào)用類函數(shù)getdate()時(shí),使返回的類的屬性dayth。
拜托,真的應(yīng)該先看完書再做這些,居然還問int做了什么。
還有樓上兩位,如果是命名沖突,在編譯時(shí)就會(huì)報(bào)錯(cuò)了。  回復(fù)  更多評(píng)論
  

# re: int 到底在干什么? 2005-12-15 09:16 e夜星空
不知道上一樓在賣弄什么?
1. 是說它很懂語言,很懂面向?qū)ο驩O?可是在它的字里行間并沒有什么面向?qū)ο蟮臇|西。
2. 是說它本人不是人嗎(見第4行“這種問題都沒有人愿意來理了”),那能否以真面目示人,你是豬呢還是狗?
3. 另外它在賣弄一些概念也是亂七八糟的,大部分與原問題毫不相干.原問題只是構(gòu)造函數(shù)自動(dòng)變量覆蓋同名的成員變量。你扯什么全局變量與局部變量?另外你愿意解答問題固然是好,雖然你自認(rèn)為不是人,大家也不會(huì)怪你,答得不好也沒什么。但你不應(yīng)該通過攻擊人來顯示你的智商能與人相當(dāng)。
4. 你還賣弄在函數(shù)內(nèi)定義了與成員變量同名的變量,在這個(gè)函數(shù)就不能再包含類的那個(gè)成員變量了?自己回去看看書吧。
5. 什么?看不懂,那以后你少在公眾場合放屁。  回復(fù)  更多評(píng)論
  

# re: int 到底在干什么? 2005-12-15 09:30 e夜星空
重新回到原來的問題,解答一下:
1. 本程序不是整數(shù)溢出的事。getdate輸出的值是一個(gè)未經(jīng)初始化的整數(shù)值。與以下代碼類似:
int a;
std::cout << a << std::endl;
2. 本這段代碼先后定義了3個(gè)名為dayth的變量,互不相干。同名卻不沖突,因?yàn)樗麄冊诓煌淖饔糜蚍秶?
3. 重載的兩個(gè)構(gòu)造函數(shù)中所操作的是它們通過int定義的自動(dòng)本地變量dayth,而始終未修改類成員變量dayth。
構(gòu)造函數(shù)使用如下的初始化列表后,q2.getdate()和q3.getdate()返回的都是初始化的值(下例為0).
date::date(int day,int month) : dayth(0){
...
}

date::date(int day,int month,int year) : dayth(0){
...
}  回復(fù)  更多評(píng)論
  

# re: int 到底在干什么? 2005-12-16 11:51 fancy
是可以運(yùn)行的啊,函數(shù)里面的那個(gè)變量在函數(shù)退出去的時(shí)候就被銷毀了,要想保存到class類里的dayth可以這樣調(diào)用this->dayth=dayth+day  回復(fù)  更多評(píng)論
  

# re: int 到底在干什么? 2006-03-30 22:29 笑笑生
謙虛點(diǎn)  回復(fù)  更多評(píng)論
  

# re: int 到底在干什么? 2006-04-03 00:43
大家冷靜點(diǎn),保持學(xué)習(xí)的樂土:)  回復(fù)  更多評(píng)論
  


只有注冊用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            一本色道久久综合亚洲精品高清| 久久久久久久久久久久久女国产乱| 欧美激情精品久久久久| 亚洲欧美中日韩| 亚洲一区二区三区国产| 亚洲一区精品电影| 欧美一区二区三区久久精品| 午夜激情综合网| 久久成年人视频| 美国成人毛片| 欧美日韩亚洲国产精品| 国产九九精品视频| 亚洲电影免费观看高清完整版在线| 亚洲成人资源| 日韩午夜中文字幕| 欧美一区二区视频网站| 免费成人av| 亚洲精品永久免费| 先锋a资源在线看亚洲| 久久久综合免费视频| 欧美成人精品1314www| 欧美紧缚bdsm在线视频| 国产精品女人久久久久久| 国产在线日韩| 一本一本久久| 久久视频精品在线| 亚洲麻豆国产自偷在线| 欧美在线高清视频| 欧美伦理影院| 狠狠色丁香久久婷婷综合_中| 亚洲国产一二三| 久久国产精彩视频| 亚洲精品视频啊美女在线直播| 在线一区二区三区四区| 久久最新视频| 国产日韩精品入口| 亚洲精品中文字幕有码专区| 欧美一区二区三区四区视频| 欧美二区在线播放| 欧美亚洲三区| 国产精品欧美日韩一区| 亚洲日本欧美天堂| 免费成人黄色| 午夜精品成人在线| 国产精品久久久久9999吃药| 亚洲大胆av| 久久免费少妇高潮久久精品99| 亚洲美女视频网| 欧美国产一区视频在线观看| 狠狠入ady亚洲精品| 欧美一级在线亚洲天堂| 免费看精品久久片| 美女黄色成人网| 国产三级欧美三级日产三级99| 亚洲精品欧洲精品| 欧美黄色网络| 巨乳诱惑日韩免费av| 国产精品久久久久久久app| 亚洲美女在线看| 亚洲第一区在线| 久久人人爽爽爽人久久久| 国产亚洲精品福利| 欧美影院午夜播放| 西瓜成人精品人成网站| 国产精品二区在线观看| 亚洲视频久久| 亚洲精品在线电影| 欧美日韩亚洲高清一区二区| 中文亚洲视频在线| 亚洲伦理在线免费看| 欧美三级不卡| 性高湖久久久久久久久| 亚洲欧美成人一区二区在线电影| 欧美日韩一区精品| 午夜精品久久久| 亚洲欧美精品在线观看| 国产亚洲成年网址在线观看| 久久精品免费| 久久久久九九九| 亚洲国产一区二区三区a毛片| 亚洲福利在线视频| 免费成人激情视频| 一区二区三区欧美亚洲| 一区二区三区精品视频| 国产精品v欧美精品v日韩| 欧美在线看片| 久久综合久久久久88| 一本色道久久综合亚洲精品不卡| 亚洲视频精选在线| 国产欧美一区二区三区沐欲 | 一本色道久久综合精品竹菊| 国产精品夜夜夜一区二区三区尤| 午夜在线播放视频欧美| 欧美一区91| 亚洲国产日韩欧美在线99| 日韩视频在线播放| 狠狠色丁香婷婷综合久久片| 亚洲第一在线| 国产精品影视天天线| 牛夜精品久久久久久久99黑人| 欧美精品激情在线观看| 午夜精品久久久久久久99热浪潮| 欧美一区二区私人影院日本 | 亚洲性线免费观看视频成熟| 国产一区二区欧美日韩| 亚洲国产精品一区| 国产午夜精品在线| 亚洲国产乱码最新视频| 国产麻豆精品在线观看| 久久免费黄色| 亚洲在线1234| 久久久蜜桃精品| 亚洲综合色丁香婷婷六月图片| 欧美一级视频精品观看| 亚洲免费观看在线观看| 午夜精品婷婷| 日韩午夜电影在线观看| 久久精品青青大伊人av| 亚洲欧美精品一区| 欧美日韩精品三区| 欧美多人爱爱视频网站| 国产乱人伦精品一区二区| 亚洲人成亚洲人成在线观看图片| 国产偷久久久精品专区| 在线一区二区视频| 一本色道久久综合亚洲精品小说 | 亚洲国产精品成人一区二区 | 欧美国产高清| 一区在线视频观看| 亚洲调教视频在线观看| 日韩网站在线看片你懂的| 久久久久久黄| 久久午夜电影| 国产亚洲欧美日韩日本| 日韩视频在线播放| 99精品欧美一区二区蜜桃免费| 久久久亚洲人| 美国成人毛片| 国产在线麻豆精品观看| 欧美亚洲午夜视频在线观看| 一区二区日韩免费看| 欧美成人中文| 99这里只有久久精品视频| 日韩亚洲国产精品| 欧美精品在线一区| 亚洲美女在线看| 亚洲曰本av电影| 国产麻豆精品视频| 久久久久久久网| 亚洲国产欧美在线人成| 一区二区欧美激情| 国产精品丝袜久久久久久app| 亚洲手机在线| 久久亚洲一区| 91久久久久久| 欧美日韩在线一区二区| 亚洲精品一区二区在线| 亚洲午夜伦理| 国产亚洲一区二区三区| 久久三级视频| 亚洲日韩欧美视频一区| 亚洲欧美精品伊人久久| 国产一二精品视频| 噜噜噜躁狠狠躁狠狠精品视频 | 亚洲一区二区三区四区五区午夜| 亚洲欧美国产一区二区三区| 国产精品嫩草久久久久| 久久香蕉国产线看观看网| 亚洲激情在线观看| 国产一区二区高清不卡| 鲁大师成人一区二区三区| 亚洲国产美女久久久久| 欧美久久久久免费| 亚洲一区在线观看免费观看电影高清| 欧美专区18| 亚洲国产精品一区在线观看不卡| 欧美岛国在线观看| 一区二区三区偷拍| 免费欧美日韩| 午夜精品久久久久久久久久久久久 | 国产精品久久久久91| 麻豆成人在线| 亚洲一区二区三区免费在线观看| 久久久久久久久久久久久女国产乱| 亚洲欧洲日韩在线| 国产日韩av在线播放| 欧美日本不卡视频| 久久精品女人的天堂av| 一区二区电影免费观看| 欧美成人69| 久久久国际精品| 亚洲欧美一区二区三区极速播放| 永久91嫩草亚洲精品人人| 国产精品v亚洲精品v日韩精品 | 久久久久久一区二区| 亚洲精品国精品久久99热一| 久久另类ts人妖一区二区| 亚洲中字在线| 一区二区国产在线观看| 亚洲国产成人午夜在线一区|