亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2079 | 回復(fù): 2
打印 上一主題 下一主題

[C++] 【原創(chuàng)】C++ 基礎(chǔ)考考自己,看程序?qū)懗鲚敵?/a> [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2011-02-17 01:30 |只看該作者 |倒序?yàn)g覽
class NoVirtualClass
{
public:
    NoVirtualClass()
    {
       std::cout << " NoVirtualClass " << endl;
    }

    ~NoVirtualClass()
    {
       std::cout << " ~NoVirtualClass " << endl;
    }
};

class VirtualClass
{
public:
    VirtualClass()
    {
       std::cout << " VirtualClass " << endl;
    }

    ~VirtualClass()
    {
       std::cout << " ~VirtualClass " << endl;
    }
};

class subClass: public NoVirtualClass, virtual public VirtualClass
{
public:
    subClass()
    {
        std::cout << " subClass" << endl;
    }
   
    ~subClass()
    {
        std::cout << " ~subClass" << endl;
    }
};

class A
{
public:
   A()
   {
     std::cout << "A" << endl;
   }

   ~A()
   {
     std::cout << "~A" << endl;
   }

};

class C
{
public:
   C()
   {
     std::cout << "C" << endl;
   }

   ~C()
   {
     std::cout << "~C" << endl;
   }

};


class B: public A
{
public:
   B()
   {
     std::cout << "B" << endl;
   }

   ~B()
   {
     std::cout << "~B" << endl;
   }

private:

   C c;

};


struct stA
{
    stA()
    {
       cout << "stA" << endl;
    }
};


struct stB : stA
{
    stB()
    {
       cout << "stB" << endl;
    }
};

struct stC
{
    stC()
    {
       cout << "stC" << endl;
    }
};


struct stD: stB
{
    stD()
    {
       cout << "stD" << endl;
    }

};

struct stE
{
    struct stA a;
    struct stC c;
    struct stD d;
   
   
    stE()
    {
       cout << "stE" << endl;
    }

};

void funRec(int i)
{
   if(i < 5)
   {
     funRec(++i);
   }
   
    cout << " " << i ;

    return;
}


int main(void)
{
    subClass sub;

    volatile char *pvch = new volatile char[10];
    delete pvch;

    cout << endl;

    B b;

    cout << endl;

    struct stE e;

    cout << endl;

    funRec(1);

    cout << endl;
    cout << endl;




    return 0;
}




Output:

  VirtualClass
NoVirtualClass
subClass

A
C
B

stA
stC
stA
stB
stD
stE

5 5 4 3 2

~B
~C
~A
~subClass
~NoVirtualClass
~VirtualClass


劉峰六點(diǎn)評(píng):

(1) 如果有多個(gè)父類,其中有虛繼承的情況下,不管初始化列表的順序如何,都會(huì)先初始化虛繼承的基類,在初始化非虛繼承的基類
(2)  如果有類中含有類成員,那么順序是(1) 基類 (2) 子類類成員 (3)子類

(3)  如果有遞歸調(diào)用,函數(shù)的局部變量不會(huì)隨遞歸調(diào)用的對(duì)局部變量的改變而改變,當(dāng)時(shí)是幾就是幾

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2011-02-17 12:04 |只看該作者
{:3_183:} 總結(jié)的不錯(cuò) 贊一個(gè)

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2011-02-17 13:08 |只看該作者
不喜歡玩基礎(chǔ)概念
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP