1樓:匿名使用者
#include
using namespace std;
class tdate
void display();
void getyear();
void getmonth();
void getday();
};void tdate::display()void tdate::getmonth()void tdate::getday()
int main()
你的程式錯在有:1建構函式你只宣告而沒定義,2在類外定義成員函式時,呼叫成員資料不用加物件名,如「cin>>t.day;」而是「cin>>day;」3主函式呼叫物件t的成員函式時,它們(成員函式)形參與實參沒有對應正確。
還有不懂的,可以訊息我。
2樓:
問題出在,你對類還不是很瞭解。
呼叫成員函式應該是
物件名.成員函式名(引數);
而非你那樣呼叫。。
改成t.getyear();
t.getmonth();
t.getday();
t.display();
3樓:地獄裡逃出來的
t應該在main函式中定義,而且成員函式沒有形參,所以t不能放在括號中,應該用"."來表示的。程式這樣該可能對:
#include
using namespace std;
class tdate
getday(tdate&t)int main()
關於c語言的問題,一個關於c語言的問題
彬彬有禮 對於你的疑問,我一個一個幫你解決 1.因為5 9 代表整除取商,即結果為0 而 5.0 9 代表5除以9,即結果為0.555556 所以兩者結果完全不一樣。再比如 3 2 1,而3.0 2 1.5 2.double b 2這是對的,沒有必要寫成double b 2.0,因為系統會自動幫你轉...
關於C語言的一個問題,關於C語言的6個問題
值的互換不一定需要中間變數。但你所說的交換記憶體地址的話,不通過中間變數挺難做得到。因為c語言沒有直接交換的語句。所以,可以通過以下方式來進行值交換。void swap int a,int b void main 雖然n和m的值是互相交換了,但是它們的各自的指標地址並沒有改變。當然要有中間變數了。你...
C語言簡單的迴圈問題,求教高手,C語言一個簡單的迴圈問題,求教高手
1 2 是整除。c語言的整除是不保留小數點後面的數,所以是0就算你賦值給float型的變數也一樣是0 所以,你無論怎麼迴圈,怎麼加,都是0。你應該 sum 1.0 2.0 這樣。整形變數 int 是不會接受小數的,一樣會把小數點後面的數都去掉。還是為0 這樣一來。就是0 0了。所以還是0 你的for...