随笔分类 -  C++

摘要:override 和 final override 虚方法对实现多态类层次结构很重要,让基类引用或指针能够根据指向的对象类型调用相应的方法,但虚方法也带来了一些编程陷阱。如,假设基类声明了一个虚方法,而您决定在派生类中提供不同的版本,这将覆盖旧版本。但如果特征不匹配,将隐藏而不是覆盖旧版本。 vir 阅读全文
posted @ 2018-10-02 12:01 季末的天堂 阅读(1082) 评论(0) 推荐(0)
摘要:1. 前言 设计模式描述了对象如何进行通信才能不牵涉相互的数据模型和方法。 保持这种独立性一直是一个好的面向对象程序设计的目标。 Gang of Four 的 "Design Patterns: Elements of Resualbel Sofware" 书将设计模式归纳为三大类类型,共 23 种 阅读全文
posted @ 2018-05-17 15:32 季末的天堂 阅读(426) 评论(0) 推荐(0)
摘要:1. 综述 问题抛出: 如果子类定义了与父类中原型相同的函数时会发生什么? 函数重写:在子类中定义与父类中原型相同的函数,函数重写只发生在父类与子类之间。 父类中被重写的函数依然会继承给子类,默认情况下子类中重写的函数将隐藏父类中的函数,通过作用域分辨符::可以访问到父类中被隐藏的函数。 1.1 类 阅读全文
posted @ 2018-05-17 15:31 季末的天堂 阅读(618) 评论(0) 推荐(0)
摘要:1. 多继承 1.1 多继承概念 1. 一个类有多个直接基类的继承关系称为多继承 2. 多继承声明语法 3. 类 C 可以根据访问控制同时继承类 A 和类 B 的成员,并添加自己的成员: 1.2 多继承的派生类构造和访问 多个基类的派生类构造函数可以用初始化列表调用基类构造函数来初始化数据成员 执行 阅读全文
posted @ 2018-05-09 22:57 季末的天堂 阅读(3364) 评论(0) 推荐(2)
摘要:1. 概述 C++ 11 中的 Lambda 表达式用于定义并创建匿名的函数对象,以简化编程工作。 Lambda 的语法形式如下: 可以看到,Lambda 主要分为五个部分:[函数对象参数]、(操作符重载函数参数)、mutable 或 exception 声明、 返回值类型、{函数体}. 2. La 阅读全文
posted @ 2018-05-09 22:29 季末的天堂 阅读(208971) 评论(4) 推荐(45)