選擇non-member,non-friend,替換member函數
從封裝進行考慮。如果某些東西被封裝,它就不再可見。越多東西被封裝,越少人可以看見它。而越少人看到它,我們就有越大的彈性去改變它。
越多東西被封裝,我們改變那些東西的能力就越大。這就是我們首先推崇封裝的原因:它使我們能夠改變事物而隻影響有限客戶。
導致較大封裝性的是non-member,non-friend函數,因此,實現同一種功能,選擇它們來實現。
選擇non-member,non-friend,替換member函數
從封裝進行考慮。如果某些東西被封裝,它就不再可見。越多東西被封裝,越少人可以看見它。而越少人看到它,我們就有越大的彈性去改變它。
越多東西被封裝,我們改變那些東西的能力就越大。這就是我們首先推崇封裝的原因:它使我們能夠改變事物而隻影響有限客戶。
導致較大封裝性的是non-member,non-friend函數,因此,實現同一種功能,選擇它們來實現。
template <typename T> void swap(T& a, T& b) { T tmp(a); a = b; b = tmp; }
class People { public: People() { cout << " construct fun " << endl; } People(const People&