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

頂著一頭亂發的獅子

堅定的理想主義者.

  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
  3 隨筆 :: 0 文章 :: 14 評論 :: 0 Trackbacks

初學C++,這是一個構造函數重載的小小程序。int 造成了溢出,我到現在還不知道是怎么一回事?把紅色標志的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) 評論(8)  編輯 收藏 引用

評論

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

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

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

可以把class date的聲明改成以下形式,整個程序效果是一樣的。
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();
};

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

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

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

  回復  更多評論
  

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

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;
}
舉這個例子,
你在函數內部定義了一個新的變量:
int dayth=0; 賦值為0,所以在這個函數中類的屬性(或者變量)就不再包含。當該函數結束時,這個函數內部的變量就被釋放了,而在調用這個函數date(int day,int month)的過程中,都沒有改變你的類屬性dayth,而調用類函數getdate()時,使返回的類的屬性dayth。
拜托,真的應該先看完書再做這些,居然還問int做了什么。
還有樓上兩位,如果是命名沖突,在編譯時就會報錯了。  回復  更多評論
  

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

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

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

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

# re: int 到底在干什么? 2006-03-30 22:29 笑笑生
謙虛點  回復  更多評論
  

# re: int 到底在干什么? 2006-04-03 00:43
大家冷靜點,保持學習的樂土:)  回復  更多評論
  


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   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| 久久综合网hezyo| 久久大香伊蕉在人线观看热2| 极品尤物久久久av免费看| 欧美日韩中文另类| 国产精品夜夜夜一区二区三区尤| 欧美色另类天堂2015| 欧美国产欧美亚洲国产日韩mv天天看完整| 欧美成人午夜激情在线| 榴莲视频成人在线观看| 亚洲国产精品一区二区第一页| 欧美成人资源| 欧美激情中文字幕乱码免费| 亚洲国产一区二区在线| 欧美激情在线观看| 亚洲国产片色| 亚洲欧美在线一区| 欧美在线视频观看免费网站| 欧美亚洲综合网| 欧美成人精品在线播放| 欧美日韩免费高清一区色橹橹| 国产精品成人免费视频| 国产精品中文在线| 欧美日韩视频不卡| 国产精品欧美在线| 国产自产女人91一区在线观看| 在线电影院国产精品| 亚洲国产乱码最新视频| 日韩亚洲欧美高清| 久久精品日韩| 亚洲第一精品夜夜躁人人爽| 亚洲另类黄色| 久久精品国产77777蜜臀| 久久久亚洲国产美女国产盗摄| 国产精品成av人在线视午夜片| 国产女主播一区二区| 亚洲黄页一区| 久久久久久久一区二区| 亚洲国产激情| 亚洲欧美伊人| 欧美日韩亚洲91| 狠狠色狠狠色综合日日五| 亚洲欧美国产三级| 欧美高潮视频| 亚洲欧美国产视频| 国产精品乱码| 亚洲欧美日韩国产中文在线| 亚洲国产影院| 国产一区二区三区四区在线观看| 亚洲人成人一区二区在线观看| 亚洲网站视频福利| 欧美国产日韩在线| 欧美一区二区三区视频免费| 欧美激情精品久久久久久蜜臀| 在线成人激情视频| 欧美自拍偷拍午夜视频| 久久婷婷国产综合精品青草| 亚洲免费在线视频一区 二区| 免费在线观看一区二区| 亚洲电影有码| 免费观看一级特黄欧美大片| 亚洲综合欧美日韩| 国产精品久久久久国产精品日日 | 欧美国产日韩一区| 午夜精品福利电影| 国产午夜亚洲精品理论片色戒| 亚洲国产精品一区二区www在线| 免费成人激情视频| 久久久精品国产一区二区三区| 国产精品夜夜夜| 久久久精品国产免大香伊| 亚洲一区二区欧美日韩| 久久久青草婷婷精品综合日韩| 激情综合色综合久久| 久久久久久久久久久成人| 久久精品在线| 国内外成人免费激情在线视频网站| 亚洲一级片在线观看| 99精品久久| 欧美日韩精品一区二区在线播放 | 亚洲精品一二三| 狂野欧美激情性xxxx欧美| 国产一区二区毛片| 你懂的网址国产 欧美| 久久久成人精品| 一区二区三区在线免费视频 | 亚洲精品欧美一区二区三区| 亚洲影院在线观看| 狠狠综合久久av一区二区小说| 久久精品国产第一区二区三区最新章节 | 国产精品女主播| 亚洲欧美制服另类日韩| 99re在线精品| 久久精品国产清高在天天线| 亚洲国产一区二区三区高清| 免费一级欧美在线大片| 99精品99| 一区二区三区偷拍| 国产精品亚洲аv天堂网| 免费在线看一区| 男女视频一区二区| 亚洲欧美日韩在线高清直播| 欧美综合国产精品久久丁香| 亚洲国产精品一区二区尤物区| 一区二区欧美在线| 国产一区99| 欧美专区在线观看| 欧美日韩色婷婷| 欧美专区日韩专区| 欧美日韩免费观看中文| 亚洲一区二区三区777| 亚洲一区二区三区777| 亚洲日本va午夜在线电影| 亚洲精品视频免费观看| 极品av少妇一区二区| 亚洲精品美女| 国产欧美精品一区二区三区介绍| 亚洲国内高清视频| 国产亚洲精品v| 性欧美xxxx大乳国产app| 欧美二区在线播放| 欧美在线影院| 国产精品欧美久久| 亚洲第一天堂无码专区| 你懂的一区二区| 美女在线一区二区| 国产精品三级视频| 最近中文字幕日韩精品| 国产在线精品二区| 99一区二区| 国产日韩三区| 一区二区免费在线视频| 尤妮丝一区二区裸体视频| 国产精品99久久99久久久二8| 亚洲免费av观看| 久久先锋影音av| 午夜精品美女自拍福到在线 | 激情成人综合| 性欧美8khd高清极品| 中文日韩电影网站| 欧美激情网友自拍| 亚洲国产美女精品久久久久∴| 国产综合久久久久久鬼色| 欧美亚洲三区| 欧美在线高清视频| 欧美日韩一视频区二区| 亚洲私人影院| 一区二区三区免费在线观看| 欧美亚洲不卡| 一本色道久久综合亚洲精品按摩| 国产最新精品精品你懂的| 欧美在线亚洲| 欧美在线播放| 亚洲电影观看| 久久久久网站| 国产精品免费看久久久香蕉| 亚洲天堂偷拍| 在线精品视频一区二区三四| 久久综合九色综合欧美狠狠| 欧美激情一区二区三区四区| 亚洲精品乱码久久久久久按摩观| 欧美精品在线视频观看| 久久最新视频| 亚洲乱码国产乱码精品精| 暖暖成人免费视频| 夜夜爽99久久国产综合精品女不卡| 99视频精品免费观看| 国产精品成人一区二区三区夜夜夜 | 新67194成人永久网站| 麻豆精品在线播放| 亚洲国产一区二区a毛片| 欧美网站在线观看| 亚洲欧美国产三级| 久久久av水蜜桃| 亚洲国产精品一区二区三区| 欧美国产先锋| 久久成人在线| 最新日韩精品| 久久久夜精品| 亚洲狼人精品一区二区三区| 国产精品视频第一区| 久久婷婷人人澡人人喊人人爽| 亚洲国产日韩一级| 久久人人97超碰精品888| 亚洲精品国产精品乱码不99| 国产一区二区成人| 欧美精品福利在线| 久久精品国产一区二区三| 亚洲激情黄色| 欧美性猛交xxxx乱大交蜜桃| 久久视频在线免费观看| 日韩视频在线观看| 欧美成人久久| 亚洲欧美日韩国产综合| 国产精品美女久久福利网站| 欧美韩国日本综合| 欧美在线观看视频一区二区三区| 亚洲调教视频在线观看| 麻豆精品在线观看|