`
冇心人
  • 浏览: 56436 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

2010-09-01C++学习笔记 虚继承

阅读更多



 Pegasus尽力想明确使用哪个Animal基类.大多数时候,决定使用哪个是随意的,毕竟Horse和Bird有相同的基类.

可以告诉C++,不想使用共同基类的两个拷贝,而只想要一个共同的基类的拷贝,如上图.为此,可以让Animal成为Horse和Bird的虚基类.根本不用修改Animal,对于Horse和Bird类,只要在其声明中使用关键字virtual即可.

通常,类的构造函数只能初始化自己的变量及其基类,但虚继承的基类例外,它们由最后的派生类进行初始化.因此,Animal不是由Horse和Bird初始化,而是由Pegasus初始化.Horse和Bird必须在其构造函数中初始化Animal,但创建Pegausu对象时,这些初始化将被忽略.

  • 大小: 11.2 KB
分享到:
评论

相关推荐

    c++学习笔记

    这份"C++学习笔记"涵盖了C++的基础概念、语法结构、面向对象编程以及可能的高级主题,旨在帮助初学者或者有经验的程序员巩固C++知识。 首先,C++是从C语言发展而来,它保留了C语言的效率,同时引入了类和对象的概念...

    C语言和C++Builder学习笔记.rar_C++笔记_c++学习笔记_c/C++_学习笔记_编程语言

    【C语言和C++Builder学习笔记】 C语言和C++是两种广泛使用的编程语言,它们在软件开发领域占据着重要地位。C语言以其简洁、高效和底层操作能力著称,而C++则在C的基础上引入了面向对象编程,极大地扩展了其应用范围...

    达内C-C++基础学习笔记

    C-C++基础学习笔记是编程初学者的重要参考资料,它们涵盖了C和C++语言的基本概念、语法和编程技巧。以下是对这些知识点的详细说明: 1. **C语言基础**:C语言是一门强大的低级编程语言,它以简洁、高效著称。学习...

    C & C++学习笔记集合

    这个“C & C++学习笔记集合”显然是一份综合性的资源,旨在帮助学习者深入理解和掌握这两种语言。 C 语言是基础,它的语法简洁明了,对内存管理有直接的控制,是理解计算机底层工作原理的良好起点。C 语言的核心...

    C++笔记.rar C++笔记.rar

    这份"C++笔记"包含了学习C++时的重要知识点和实践技巧。 1. **基础语法**:C++的基础包括变量、数据类型(如整型、浮点型、字符型等)、运算符(算术、比较、逻辑、位运算符等)、流程控制语句(如if-else、switch-...

    effective c++读书笔记

    - 面向对象的C++:这部分强调了类、封装、继承、多态、虚函数等面向对象编程的核心概念。 - 模板C++:模板编程允许编写独立于数据类型的代码,是C++泛型编程的核心,也是C++强大的抽象工具之一。 - STL(标准模板...

    c++学习总结,在学习c++时做的一些笔记

    在深入探讨C++编程语言的学习经验之前,首先要理解C++是一种多范式、面向对象的编程语言,由Bjarne Stroustrup于1983年在C语言的基础上发展而来。它提供了丰富的特性,包括类、模板、异常处理、命名空间、函数重载等...

    C++对象模型学习笔记

    ### C++对象模型学习笔记 #### 第1章 关于数据成员 **1.1 单个类** 在探讨C++对象模型时,我们首先关注单个类的数据成员布局及其内部结构。 ##### 1.1.1 没有虚函数存在 当我们定义一个简单的类,如`Point3d`,...

    C++学习笔记、常见面试知识点.zip

    C++学习笔记和常见面试知识点,C++11特性,包括多态、虚表、移动语义、友元函数、符号重载、完美转发、智能指针、const和static、数组指针和指针数组、struct内存对齐、enum和union关键字等等。帮助了解C++的特性,...

    千锋C++笔记.zip

    《千锋C++笔记》是一份综合性的学习资料,涵盖了C++编程语言的基础到高级概念。这份笔记由知名教育机构“千锋”提供,旨在帮助初学者和有一定基础的程序员深入理解和掌握C++这一强大的系统级编程语言。下面将详细...

    VC++深入详解学习笔记

    **VC++深入详解学习笔记** 在编程领域,Visual C++(简称VC++)是Microsoft公司开发的一款集成开发环境,主要用于编写使用C++语言的应用程序。它不仅提供了编译器,还包括了调试器、资源编辑器等工具,为开发者提供...

    c++学习笔记。。。。

    在这个"**C++学习笔记**"中,我们可以深入探讨C++的各种核心概念和技术。 1. **基础语法**:C++的基础包括变量、数据类型、运算符、控制结构(如if-else,switch-case,for,while,do-while循环)以及函数。理解...

    Effective C++学习笔记

    《Effective C++》是C++编程领域的一本经典著作,由Scott Meyers撰写,书中包含了一系列的编程实践建议,旨在帮助开发者写出更高效、更安全、更易于维护的C++代码。以下是一些核心条款的详细解读: 1. **视C++为一...

    C++学习笔记(快速入门C++)

    ### C++学习笔记知识点梳理 #### 一、开始 C++是一种高级编程语言,它是在C语言的基础上发展起来的,并且增加了面向对象编程的支持。学习C++的第一步是从熟悉其基本语法开始,然后逐渐深入理解面向对象编程的概念...

    C++学习笔记

    ### C++学习笔记知识点解析 #### 一、C++设计原则 C++作为一种高级编程语言,在设计时考虑了多个方面来确保其既能够满足高性能的需求,又能够支持现代软件开发的复杂性。以下是对C++设计原则的一些详细解析: 1. *...

    C++ Primer 学习笔记

    《C++ Primer 学习笔记》是一份针对C++初学者的重要参考资料,它基于C++ Primer第三版的内容,旨在帮助读者深入理解C++这门强大的编程语言。C++ Primer是学习C++的经典书籍,以其全面、深入且易于理解的讲解闻名,这...

    c++个人笔记总结.rar

    这份"C++个人笔记总结"涵盖了C++语言的基础知识、核心概念以及高级特性,旨在帮助学习者深入理解并掌握C++。 一、C++基础知识 1. 变量与数据类型:C++支持基本数据类型,如int、float、char等,以及复合数据类型...

    C++&C学习笔记

    ### C++&C学习笔记知识点概览 #### 类与数据抽象 - **概念**:类是一种用户自定义的数据类型,它将数据(属性)和作用于数据上的操作(方法)封装在一起,从而实现了数据的抽象。 - **特点**:与C语言中的结构体...

Global site tag (gtag.js) - Google Analytics