教材3.3構(gòu)造函數(shù)類型轉(zhuǎn)換中的例題勘誤

字號:

3.3構(gòu)造函數(shù)類型轉(zhuǎn)換中的例題P47~P48
    教材中程序輸出:
    Initializing 0 //建立對象Try
    Initializing 5 //建立隱藏對象
    Destroying 5 //析構(gòu)第一次建立的對象Try
    5 //輸出建立的隱藏對象之數(shù)據(jù)
    Initializing 10 //由強制類型轉(zhuǎn)換建立數(shù)據(jù)為10的對象
    Destroying 10 //析構(gòu)建立的隱藏對象Try(num=5)
    10 //輸出由強制類型轉(zhuǎn)換建立對象的數(shù)據(jù)
    Destroying 10 //析構(gòu)由強制類型轉(zhuǎn)換建立對象Try(num=10)
    但是當你在構(gòu)造函數(shù)和析構(gòu)函數(shù)中輸出this指針時,你就會發(fā)現(xiàn)雖然上面的輸出正確,但注釋卻說明了嚴重的錯誤。析構(gòu)的對象完全亂了!
    正確的注釋如下:
    Initializing 0 //建立對象Try
    Initializing 5 //建立隱藏對象
    Destroying 5 // 析構(gòu)新建的隱藏對象
    5 // 輸出Try對象的數(shù)據(jù)
    Initializing 10 //由強制類型轉(zhuǎn)換建立數(shù)據(jù)為10的對象
    Destroying 10 // 析構(gòu)新建的隱藏對象Try(num=10)
    10 // 輸出Try對象的數(shù)據(jù)
    Destroying 10 // 析構(gòu)Try對象