'boost::enable_shared_from_this<net::Session>' is an inaccessible base of 'net::Session'
BOOST_ASSERT( p.get() == this );

在使用enabel_shared_from_this是遇到报错

研究了一下是继承的时候没有采用public继承的原因

https://blog.csdn.net/crazyhacking/article/details/8013458

这个文章指明private/protected继承时A的指针不能指向B

不过感觉没理解,如果看这个文章c++三种继承方式public,protect,private

可能是protected继承使得this指针对子类不可访问。接下来进行测试

额,很奇怪,测试结果好像没啥问题,测试了几种可能性:

在protected继承下

1.Base使用了this的函数不能被Derived调用 X

2.Base的this和Derived*不能做==操作 X

Inheritance: 'A' is an inaccessible base of 'B'的更多相关文章

  1. <Effective C++>读书摘要--Inheritance and Object-Oriented Design<二>

    <Item 36> Never redefine an inherited non-virtual function 1.如下代码通过不同指针调用同一个对象的同一个函数会产生不同的行为Th ...

  2. <Effective C++>读书摘要--Inheritance and Object-Oriented Design<一>

    1.Furthermore, I explain what the different features in C++ really mean — what you are really expres ...

  3. Public Private Protect Inheritance and access specifiers

    In the previous lessons on inheritance, we've been making all of our data members public in order to ...

  4. [C++] OOP - Access Control and Class Scope

    Access Control And Inheritance Protected Member Like private, protected members are unaccessible to ...

  5. SWIG 3 中文手册——6. SWIG 和 C++

    目录 6 SWIG 和 C++ 6.1 关于包装 C++ 6.2 方法 6.3 支持的 C++ 功能 6.4 命令行选项与编译 6.5.1 代理类的构造 6.5.2 代理类中的资源管理 6.5.3 语 ...

  6. C++继承相关知识点总结

    1:派生类继承基类的成员并且可以定义自己的附加成员.每个派生类对象包含两个部分:从基类继承的成员和自己定义的成员. 每个派生类对象都有基类部分,包括基类的private成员.类可以访问共基类的publ ...

  7. Effective C++: 06继承与面向对象设计

    32:确定你的public继承塑模出is-a关系 以C++进行面向对象编程,最重要的一个规则是:public继承表示的是"is-a"(是一种)的关系. 如果令class D以pub ...

  8. C++ 面向对象编程

    <C++ Primer 4th>读书笔记 面向对象编程基于三个基本概念:数据抽象.继承和动态绑定.在 C++ 中,用类进行数据抽象,用类派生从一个类继承另一个:派生类继承基类的成员.动态绑 ...

  9. iOS Developer Libray (中文版)-- Defining Classes 定义类

    该篇是我自己学习iOS开发时阅读文档时随手记下的翻译,有些地方不是很准确,但是意思还是对的,毕竟我英语也不是很好,很多句子无法做到准确的字词翻译,大家可以当做参考,有错误欢迎指出,以后我会尽力翻译的更 ...

随机推荐

  1. 26 , CSS 构造表单

    1. 表单标签使用 2. 下拉菜单背景 3. 滚动条的使用 4. 结构化表单布局 1 1 1 1. . . . 表单标签的使用 <label for=”name”>姓名: <inpu ...

  2. ArcEngine ILabelEngineLayerProperties Expression 添加常量

    ArcEngine实现复杂标注的时候,需要结合几个字段并将常量加载表达式中. 开始的时候发现VBScript需要采用“”来括起来常量才能在VB中正常使用,但是 ILabelEngineLayerPro ...

  3. 【AO例子】生成TIN

    当然,通过GP生成也是可以的.这里介绍的是已经烂大街的生成方法. 上代码: public ITin CreateTin(IFeatureClass featureClass, IField Z, st ...

  4. Android Studio 3.0+ Annotation processors must be explicitly declared now

    把Android Studio 升级到3.0+ 版本的时候出现该问题:   可以看到 给了我们两种解决办法:   1. 即 给出现问题的三方 加上 annotationProcessor配置     ...

  5. 如何在Android studio上运行从github上下载的RN项目

    想要编译别人的RN项目,还是要踩踩坑才能走上正轨啊,分享下我试过多种方法后最喜欢的方法(其实是因为我多次用VS Code编译都是以失败而告终,所以才选择的studio) 注意:这一步是你的开发环境都安 ...

  6. cent os 7 与cent os 6区别

    原文地址:https://www.cnblogs.com/Csir/p/6746667.html 前言 centos7与6之间最大的差别就是初始化技术的不同,7采用的初始化技术是Systemd,并行的 ...

  7. webapi读取上传的文件流

    逻辑说明 这里未引用System.Web.Mvc. 主要使用MultipartMemoryStreamProvider对象从Request中获取文件流. var provider = new Mult ...

  8. centos6+ 安装python3.6以及pip3

    https://blog.csdn.net/weixin_42350212/article/details/83008248

  9. MySQL慢查询&执行计划

    参考文章: https://blog.csdn.net/tiantianw/article/details/53334566 http://www.cnblogs.com/luyucheng/p/62 ...

  10. “百度杯”CTF比赛 十月场EXEC

    前面比较常规吧看源代码-看到vim 然后就是 .index.php.swp 然后就是 这个文件的恢复,用linux下vim -r index.php.swp  就可以看到不是乱码的文件了 然后就是审核 ...