草庐IT

继承权

全部标签

c++ - 如何从 std::runtime_error 继承?

例如:#includeclassA{};classerr:publicA,publicstd::runtime_error(""){};intmain(){errx;return0;}在runtime_error之后使用("")我得到:error:expected'{'before'('tokenerror:expectedunqualified-idbeforestringconstanterror:expected')'beforestringconstant否则(没有(""))我得到Inconstructor'err::err()':error:nomatchingfunctio

c++ - 当您使用多重继承时,静态转换何时安全?

我发现自己处于一种我知道某物是什么类型的情况。类型是三个(或更多)继承级别之一。我调用返回B*的工厂,但是T是类型的最高级别(如果我的代码知道它是什么)或第二级别。无论如何,我在模板中做了一个static_cast,这是错误的做法。我的问题是我什么时候可以安全地进行静态转换?有没有这样的时候?我在这种情况下这样做是因为当我不小心将T作为古怪的东西(已经发生并且)动态转换忽略(并返回null)时,我宁愿得到编译错误。但是,当我知道正确的类型时,指针没有调整,导致我的指针不好。我不知道为什么在这种情况下允许静态转换。什么时候可以安全地使用static_cast进行向下转换?有没有什么情况?

c++ - 当您使用多重继承时,静态转换何时安全?

我发现自己处于一种我知道某物是什么类型的情况。类型是三个(或更多)继承级别之一。我调用返回B*的工厂,但是T是类型的最高级别(如果我的代码知道它是什么)或第二级别。无论如何,我在模板中做了一个static_cast,这是错误的做法。我的问题是我什么时候可以安全地进行静态转换?有没有这样的时候?我在这种情况下这样做是因为当我不小心将T作为古怪的东西(已经发生并且)动态转换忽略(并返回null)时,我宁愿得到编译错误。但是,当我知道正确的类型时,指针没有调整,导致我的指针不好。我不知道为什么在这种情况下允许静态转换。什么时候可以安全地使用static_cast进行向下转换?有没有什么情况?

c++ - protected 继承的实际用途是什么?

公共(public)继承很容易。A:publicB表示每个A都是B。在大多数编程语言中,例如vb.net和Objective-c,这是唯一的继承类型。私有(private)继承也简单但没有意义A:私有(private)B表示A由B实现。但是,这是没有意义的,因为这意味着A应该包含B。所有权意味着更少的耦合,没有缺点。那么我们就有了protected继承。谁能给我解释一下这到底是为了什么?有人说这是一种“关系”。我还不是很清楚。是否有人有一些示例案例,其中人们以良好的模式(和良心)将protected继承用于实际生产用途? 最佳答案

c++ - protected 继承的实际用途是什么?

公共(public)继承很容易。A:publicB表示每个A都是B。在大多数编程语言中,例如vb.net和Objective-c,这是唯一的继承类型。私有(private)继承也简单但没有意义A:私有(private)B表示A由B实现。但是,这是没有意义的,因为这意味着A应该包含B。所有权意味着更少的耦合,没有缺点。那么我们就有了protected继承。谁能给我解释一下这到底是为了什么?有人说这是一种“关系”。我还不是很清楚。是否有人有一些示例案例,其中人们以良好的模式(和良心)将protected继承用于实际生产用途? 最佳答案

odoo 开发入门教程系列-继承(Inheritance)

继承(Inheritance)Odoo的一个强大方面是它的模块化。模块专用于业务需求,但模块也可以相互交互。这对于扩展现有模块的功能非常有用。例如,在我们的房地产场景中,我们希望在常规用户视图中直接显示销售人员的财产列表。在介绍特定的Odoo模块继承之前,让我们看看如何更改标准CRUD(创建、检索,更新或删除)方法的行为Python继承(PythonInheritance)目标:不能删除状态不为New、Canceled的房产预期效果动画地址:https://www.odoo.com/documentation/14.0/zh_CN/_images/unlink.gif房产收到报价时,房产状态应

odoo 开发入门教程系列-继承(Inheritance)

继承(Inheritance)Odoo的一个强大方面是它的模块化。模块专用于业务需求,但模块也可以相互交互。这对于扩展现有模块的功能非常有用。例如,在我们的房地产场景中,我们希望在常规用户视图中直接显示销售人员的财产列表。在介绍特定的Odoo模块继承之前,让我们看看如何更改标准CRUD(创建、检索,更新或删除)方法的行为Python继承(PythonInheritance)目标:不能删除状态不为New、Canceled的房产预期效果动画地址:https://www.odoo.com/documentation/14.0/zh_CN/_images/unlink.gif房产收到报价时,房产状态应

想要入坑C++?当我拿出菱形虚拟继承,阁下又该如何应对

文章目录💐专栏导读💐文章导读🌷继承的定义方式🌷继承方式与访问限定符🌷基类和派生类对象赋值转换🌷继承中的作用域🌷派生类的默认成员函数🌷继承与友元🌷继承与静态成员🌷复杂的菱形继承及菱形虚拟继承🌺菱形继承所引发的问题🍄二义性🍄数据冗余🌺虚拟继承解决二义性与数据冗余🍄原理🍁菱形继承下的对象模型🍁菱形虚拟继承🌷继承的总结和反思💐专栏导读🌸作者简介:花想云,在读本科生一枚,致力于C/C++、Linux学习。🌸本文收录于C++系列,本专栏主要内容为C++初阶、C++进阶、STL详解等,专为大学生打造全套C++学习教程,持续更新!🌸相关专栏推荐:C语言初阶系列、C语言进阶系列、数据结构与算法、Linux从入门

C++ 异常和来自 std::exception 的继承

鉴于此示例代码:#include#includeclassmy_exception_t:std::exception{public:explicitmy_exception_t(){}virtualconstchar*what()constthrow(){return"Hello,world!";}};intmain(){try{throwmy_exception_t();}catch(conststd::exception&error){std::cerr我得到以下输出:Exception:unknown然而,简单地从std::exceptionpublic继承my_exceptio

C++ 异常和来自 std::exception 的继承

鉴于此示例代码:#include#includeclassmy_exception_t:std::exception{public:explicitmy_exception_t(){}virtualconstchar*what()constthrow(){return"Hello,world!";}};intmain(){try{throwmy_exception_t();}catch(conststd::exception&error){std::cerr我得到以下输出:Exception:unknown然而,简单地从std::exceptionpublic继承my_exceptio