2015-12-08 32 views
1

下午好!C++一般定義問題(ADT,成員,構造函數和重載)

在這裏,我有一個東西的審查表,我認爲這些東西只有在課堂上纔有過一次,沒有任何後續工作,直到現在我們有最後的審查。我希望有人能夠幫助我解決一些常見的選擇題。我會盡我所能回答他們,但由於我的知識遠非完美,請指出我是否誤解了其中的一部分。

這裏有幾個問題:

The private members of an ADT are directly accessible 
    a) in non-member functions 
    b) in member functions 
    c) in friend functions 
    d) both b and c  <<< 

這裏我選擇的答案(d),因爲據我所知,一個ADT(抽象數據類型)是指類和結構?如果是這種情況,那麼只有(a)是不正確的。

The purpose of a constructor is to 
    a) use the other member functions to initialize the object 
    b) make sure a new object is properly initialized  <<< 
    c) use the data members to call the member functions 
    d) none of the above 

答案應該是(B),但我認爲對象是通過成員變量(這是私有變量),而不是它是一個成員函數構造函數初始化?

An ADT typically 
    a) keeps its data members private 
    b) has public member functions to provide access to its private data 
    c) provides private member functions to make its data public 
    d) both a and b  <<< 

這裏沒有線索。 (b)和(c)之間有什麼區別?基於單純措詞的清晰度,我必須去(d)。

In C++ you can overload 
    a) member functions 
    b) non-member functions 
    c) operators 
    d) all of the above  <<< 

我真的只選擇了(d)基於谷歌搜索,因爲它變成超載前三個選擇的所有。儘管我認爲我從未見過運營商超負荷運行,但我對此並不太自信。

再次,道歉提出這樣的基本問題,但我只是覺得很難找到直接的答案和任何簡單的英語或定義相關,似乎他們已經在課堂上看到了。

+0

對於構造函數的目的是,內部成員可以自己設置自己的對象,但擁有的對象可能仍然需要以某種方式將它們連接在一起。 (至少,我喜歡這樣想) –

回答

0

構造這是一個成員函數

在一個類的構造是一個特殊的功能,當對象被初始化,其僅調用一次。這與構造對象後隨時可以調用的常規成員函數不同。所以,這不是您的普通會員功能

(b)和(c)之間有什麼區別?

(c)是錯誤的。私人函數如何只能被問題1的內容訪問,公開地公開數據?

除了我注意到的那兩點,你似乎有正確的想法。

運算符每次定義運算符時都會被重載:)只要將運算符符號看作「函數名稱」,您應該看到「函數名稱」具有它可以接受的各種不同類型。