对象切片与虚函数机制

C++语言: Codee#2574401/

02对象切片

03此处为传值 注意与传地址相比较

04
/

05#include

06#include

07usingnamespacestd;

08

09classPet

10{

11stringpname;

12public:

13Pet(conststring&name)

14:pname(name)

15{}

16virtualstringname()const

17{

18returnpname;

19}

20virtualstringdescription()const

21{

22return"This is "+pname;

23}

24};

25

26classDog:publicPet

27{

28stringfavoriteActivity;

29public:

30Dog(conststring&name,conststring&activity)

31:Pet(name),favoriteActivity(activity)

32{}

33stringdescription()const

34{

35returnPet::name()+" likes to "+

36favoriteActivity;

37}

38};

39

40voiddescribe(Petp)

41{

42cout<<p.description()<<endl;

43}

44

45intmain()

46{

47Petp("Alfred");

48Dogd("Fluffy","sleep");

49describe(p);

50describe(d);

51

52return0;

53}

54/

55This is Alfred

56This is Fluffy

57

58Process returned 0 (0x0) execution time : 0.070 s

59Press any key to continue.

60

61
/

C++语言: Codee#2574501/

02地址传递

03启用虚函数机制

04
/

05#include

06#include

07usingnamespacestd;

08

09classPet

10{

11stringpname;

12public:

13Pet(conststring&name)

14:pname(name)

15{}

16virtualstringname()const

17{

18returnpname;

19}

20virtualstringdescription()const

21{

22return"This is "+pname;

23}

24};

25

26classDog:publicPet

27{

28stringfavoriteActivity;

29public:

30Dog(conststring&name,conststring&activity)

31:Pet(name),favoriteActivity(activity)

32{}

33stringdescription()const

34{

35returnPet::name()+" likes to "+

36favoriteActivity;

37}

38};

39

40voiddescribe(Petp)

41{

42cout<<p->description()<<endl;

43}

44

45intmain()

46{

47Pet
p=newPet("Alfred");

48Dogd=newDog("Fluffy","sleep");

49describe(p);

50describe(d);

51

52return0;

53}

54/


55This is Alfred

56Fluffy likes to sleep

57

58Process returned 0 (0x0) execution time : 0.059 s

59Press any key to continue.

60

61

62

63*/原文链接: https://www.cnblogs.com/invisible/archive/2012/03/08/2384841.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/43704

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月8日 下午8:20
下一篇 2023年2月8日 下午8:20

相关推荐