C 程式疑問

時間 2022-12-26 04:50:08

1樓:

構造相當於初始化,比如有一個點在(0,0)。但是這個點它要動啊,待在**,沒意思啊。所以就setpoint(1,1),讓他到(1,1)這個地方去了。

建構函式的話,你可以再定義一個point p(1,1)。但是這個p已經是另外一個點了,不是原來那個點了。你出生的時候10斤,你會長大嘛,總不會你20斤的時候,就把你拋棄了,再找一個20斤的孩子啊,那太殘忍了。

如果沒有getx(),gety().那怎麼獲得x,y呢?只能將x,y設為public了。

可是public的話,那可以。

y=3.誰都能讓這個點動(任意一個地方用到p的地方都可能改變)。那最後p不小心改變了,去**找原因呢?

不好找啊。所以,不設為public。那麼,就不能通過p.

x,來設定x,y的值了。只能通過setpoint(x,y)來設定。

這樣,就比較好找問題所在了。因為這是一個簡單的例子,你能看出來,所以體現不了它的優點,反而覺得setpoint比較多餘。這也是一種設計思想,資料和介面分離。

你提供給別人介面就好了,不要告訴你的詳細設計。別人用的話,就point p,,2)。

很簡單,你可以設計一百個類,都是這樣的介面。人家看一下就知道怎麼用了。如果你沒有setpoint。

那人家得記住你一百個類裡面的200個成員變數的名字,以及他們的含義,要是你,你願意嗎?

2樓:匿名使用者

setpoint,可以呼叫對成員變數 x,y賦值,構造只會來一次,setpoint可以呼叫n次。

3樓:令狐安天

先你的問題吧!

1.現在規範**,都是int main()不再是以前的void main();不管怎樣main()也是一個函式,既然不是void型別就要有返回值;如果執行到return語句時,該函式結束。所以你主函式中return0;後面一句輸出是無效的。

至於它是返回給誰,我不清楚。

2.你的說法是可以的。

3.在c或者c++ 中都是由主函式開始執行的。由主函式呼叫swap(int x,int y)然後返回主函式;而go函式是不會執行的。你可以上機執行一下。

下面說說我想對你說的,你的程式中有許多的錯誤之處,首先是漏掉了很多的分號,每個語句結束之後要以分號結尾。不然編譯器會報錯的,你編譯沒法通過。還有你的return打錯了不是renturn。

還有主函式在呼叫函式swap之前應該先對函式swap進行宣告,宣告可以這樣寫void swap(int x,inty);別忘了分號。如果你不想宣告的話也可以,但是要將swap函式定義寫在main函式之前。main函式結束的時候,也就是這個執行結束了,你後面的go函式想要執行,要在主函式結束之前進行呼叫,你在swap函式中呼叫也是可以的。

不要認為寫了就會得到執行。

附上對你程式的修改:

#include

using namespace std;

int main()

void swap(int x,int y)

void go()

//如果想要這個函式執行,要在前面宣告然後呼叫!

如果還有什麼問題,再和我聯絡吧! 是我的郵箱地址!

c 程序c 程序c 程序,c 程式c 程式c 程式

fun的 相當於 void func2 long n main函式裡面應該不需要太多的解釋,重點是fun這個函式的遞迴呼叫。遞迴函式中,必須有一個結束條件,fun中的這個條件就是 n 10 0 當n 10 0什麼都不做,結束了。但是當n 10!0 時,就會遞迴呼叫 fun n 10 直到n 10 0...

c語言疑問

錯誤太多了.以我對程式的理解,你是想輸入兩個值,然後交換順序輸出吧,如果是,請往下看。exchanger是一個函式,如果是int型別,就要有一個返回值,需要在函式末尾加入return 返回值,且為int型別 但是顯然這裡不需要,改為void即可。函式宣告 exchanger完全可以在main函式之前...

c語言程式問題,C語言程式問題?

1.在你打算學習c語言之前,你要下一個狠狠地決心.因為許多電腦愛好者在學習c語言的過程中,都會遇到困難,從而沒有堅持到最後.只有你下定狠狠地決心,才能學會c語言,才能學好c語言.2.要想學習好c語言,就要學會細心,耐心.c語言程式的編寫需要非常細心,因為一個標點符號的錯誤,可能導致程式的無法執行.3...