当前位置: 首页 > wzjs >正文

深圳网站设计哪家今天刚刚最新消息2023

深圳网站设计哪家,今天刚刚最新消息2023,做网站和做软件哪个赚钱,网站页面怎么算C 快速回顾(一) 前言一、InLine 内联函数二、类继承的私有保护公开关系PublicProtectedPrivate 三、多继承、菱形继承、虚继承多继承菱形继承 和 虚继承 前言 用于快速回顾之前遗漏或者补充C知识 一、InLine 内联函数 形式如下 需要注意内联函数体需…

C++ 快速回顾(一)

  • 前言
  • 一、InLine 内联函数
  • 二、类继承的私有保护公开关系
    • Public
    • Protected
    • Private
  • 三、多继承、菱形继承、虚继承
    • 多继承
    • 菱形继承 和 虚继承


前言

用于快速回顾之前遗漏或者补充C++知识

一、InLine 内联函数

形式如下
在这里插入图片描述
需要注意内联函数体需要:简单、不能有循环或递归

二、类继承的私有保护公开关系

Public

公开继承基类,和我们正常认知一样

class TestBase
{
private:void FuncPrivate(){}
protected:void FuncProtected(){}
public:void FuncPublic(){}
};class TestChild01 : public TestBase
{void TestFunc() {FuncProtected();FuncPublic();}
};int main()
{TestChild01 test01;test01.FuncPublic();
}

Protected

protected 继承变成了TestChild01 的保护成员

class TestBase
{
private:void FuncPrivate(){}
protected:void FuncProtected(){}
public:void FuncPublic(){}
};class TestChild01 : protected TestBase
{void TestFunc() {FuncProtected();FuncPublic();}
};int main()
{TestChild01 test01;//test01.FuncPublic(); // protected 继承变成了TestChild01 的保护成员
}

Private

看下面的代码是看不出来private继承父类和保护继承有什么区别

class TestBase
{
private:void FuncPrivate(){}
protected:void FuncProtected(){}
public:void FuncPublic(){}
};class TestChild01 : private TestBase
{void TestFunc() {FuncProtected();FuncPublic();}
};int main()
{TestChild01 test01;
}

保护变成了TestChild01 的私有
公共也变成了TestChild01 的私有

class TestBase
{
private:void FuncPrivate(){}
protected:void FuncProtected(){}
public:void FuncPublic(){}
};class TestChild01 : private TestBase
{void TestFunc() {FuncProtected();FuncPublic();}
};class TestChild02 : public TestChild01
{void TestFunc() {//FuncProtected(); // 保护变成了TestChild01 的私有//FuncPublic(); // 公共也变成了TestChild01 的私有}
};int main()
{TestChild01 test01;
}

三、多继承、菱形继承、虚继承

多继承

总结一句话就是当接口去用即可,对具体的功能抽象

菱形继承 和 虚继承

轻易不要去写这种,但是要学会去看

class A
{
public:A(){printf("A Ctor.\r\n");}
};class B : public A
{};class C : public A
{};class D : public B, public C
{};int main()
{D d;system("pause");
}

输出结果如下,由于B、C都继承了A,D继承了B、C导致会触发两次A的构造
在这里插入图片描述
如下代码片段是菱形继承导致不知道调用谁的函数

class A
{
public:A(){printf("A Ctor.\r\n");}void TestFunc() {printf("TestFunc.\r\n");}
};class B : public A
{};class C : public A
{};class D : public B, public C
{};int main()
{D d;//d.TestFunc(); 不清楚要调用谁的  B的?C的?还是A的?system("pause");
}

使用虚继承可以解决上面的问题虚继承导致只有A的一份副本,只调用一次A的构造

class A
{
public:A(){printf("A Ctor.\r\n");}void TestFunc() {printf("TestFunc.\r\n");}
};class B : virtual public A
{};class C : virtual public A
{};class D : public B, public C
{};int main()
{D d;d.TestFunc();system("pause");
}

输出结果:
在这里插入图片描述

http://www.dtcms.com/wzjs/265448.html

相关文章:

  • 韩国的电商网站chatgpt网址
  • wordpress android开源seo搜索引擎优化5
  • 郑州网站建设专业公司关于网站推广
  • 自助建站教程市场调研方法有哪些
  • 成都网站建设g冠辰搜索引擎营销广告
  • 天津市建设委员会 网站百度seo关键词优化工具
  • 网站建设基本知识qq排名优化网站
  • 国家市场监督管理总局74号令青岛 google seo
  • 做网站需要会哪些计算机语言自建网站平台
  • 做养生网站怎么赚钱百度热搜关键词排名优化
  • 域名分析网站网络科技公司经营范围
  • 网站基础优化地推app推广赚佣金
  • 开一家网站建设公司怎样上海网络推广服务公司
  • 发改委门户网站建设思路内容营销的4个主要方式
  • 福州企业网站建设专业服务黑帽seo技术论坛
  • 深圳信用网seo优化一般包括
  • 如何制作手机网站太原网站建设制作
  • 专门做行业分析的网站百度网址名称是什么
  • 长治企业网站建设百度电脑版下载官网
  • 宁波装修公司网站关键字优化
  • 中文企业网站设计欣赏潍坊网站收录
  • 域名cn是个什么网站好项目推荐平台
  • mvc 网站建设做搜索引擎优化的企业
  • 做视频网站赚做视频网站赚网络营销的现状分析
  • 建筑企业网站有哪些广告优化师工作内容
  • 如何做搞笑的视频视频网站抖音黑科技引流推广神器
  • 怎么把网站做的靠前职业培训机构排名前十
  • 网站是否必须做认证推广软件是什么工作
  • 做英语quiz的网站网站免费搭建平台
  • 学校二级网站建设武汉百度推广公司