1.除錯下列程式,寫出輸出結果,並分析輸出結果。
解釋:建構函式進行賦值,所以a分別等於6和8,靜態成員函式b第一次賦值時,b=100-6=94,第二次賦值b=94-8=86。
2.分析並除錯程式,完成下列問題。
#include
#include
using namespace std;
class my
my(double i,double j)
my(my&m)
friend double dist(my&a,my&b);
private:
double x,y;
};double dist(my&a,my&b)
int main()
{my m1,m2(15),m3(13,14);
my m4(m3);
cout<
(1).指出所有的建構函式,他們在本程式中起什麼作用。
答:程式的第7,8,9行為建構函式,第7行的作用是設定物件的預設值,第8行的作用是對物件進行賦初始值,第9行的作用是對已知物件的值進行拷貝到對應物件上。
(2).指出設定預設引數的建構函式。
答:第7行。
(3).指出友元函式。將友元函式放到私有部分,觀擦結果是否有變化。
答:第9行為友元函式,
結果沒有變化。
(4) 寫出輸出結果,並分析輸出結果。
分析:主函式建立4個物件,進行建構函式賦值後,分別對應4個點的座標,而友元函式執行的是計算這幾個點之間的距離,所以結果便如上圖所示。
靜態成員與友元
靜態成員與友元 1 實驗目的 學習友元函式的定義和原理。學習靜態資料成員和靜態成員函式的使用。學習靜態成員代替全域性變數實現物件間的共享。2 實驗內容 1 有如下類的定義。類成員函式copy用於實現兩個物件的相互拷貝,請完成該函式的實現。有兩種方法即用成員函式和友元函式實現 include incl...
靜態成員與友元函式
1 靜態成員 由來 使用全域性物件實現資料共享,由於其處處可見,不夠安全,故可使用靜態成員實現類的多個物件之間的資料共享。包括 靜態資料成員 靜態成員函式 特點 靜態資料成員屬於類,而不屬於某個物件獨有,類的所有物件共享靜態資料成員 靜態資料成員使用關鍵字static,在類體中宣告,在類體外定義,以...
C 友元與靜態成員
c 中,類外的成員不能訪問類內的私有和保護型別成員。而友元函式可以不受訪問限制訪問類的任何成員。友元函式雖然可以在類內進行宣告,但是友元函式不是成員函式,因此沒有this指標。舉例說明 class clock clock clock int h,int m,int s void show clock...