地産中介賣的是房子,其使用的中介軟體系統應該有個類用來描述賣掉的房子
但是任何房子都是獨一無二的,不應該存在兩個房子擁有同樣的屬性,是以以下操作不應該正确!
阻止這兩個操作(複制、指派)可以不聲明它們,but自己不聲明,編譯器會自動生成,并且通路權限還是public。沒辦法隻好聲明出來,但是如何組織這兩個操作呢,好吧,把他們的通路權限聲明為private,因為阻止這兩個操作,是以隻聲明,不定義。例如:
<a></a>
結果
1
2
3
<code>del</code><code>5</code><code>.cc: 在函數‘int main()’中:</code>
<code>del</code><code>5</code><code>.cc:</code><code>10:</code><code>3:</code> <code>錯誤: ‘base::base(const base&)’是私有的</code>
<code>del</code><code>5</code><code>.cc:</code><code>18:</code><code>11:</code> <code>錯誤: 在此上下文中</code>
但是問題又來了:如果類中的成員函數或類的友元函數通路咋整,例如:
可以利用繼承來解決例如
這樣,HoemForSale的朋友或成員函數也無力回天了(畢竟父類的函數是private的).
反思
c++ 中的流對象就是采用這樣的原理.
錯誤提示
<code>/usr/include/c++/</code><code>4.6</code><code>/bits/ios_base.h:</code><code>788:</code><code>5:</code> <code>錯誤: ‘std::ios_base::ios_base(const std::ios_base&)’是私有的</code>
本文轉自jihite部落格園部落格,原文連結:http://www.cnblogs.com/kaituorensheng/p/3708157.html,如需轉載請自行聯系原作者