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

济南网站建设公司哪个好点呢seo优化工具软件

济南网站建设公司哪个好点呢,seo优化工具软件,上海集团网站建设价格,wordpress和di文章目录 一、public 公有继承 - 示例分析1、类型兼容性原则2、类型兼容性原则应用场景 二、类型兼容性原则 - 示例分析1、父类指针 指向 子类对象2、使用 子类对象 为 父类对象 进行初始化3、完整代码示例 一、public 公有继承 - 示例分析 1、类型兼容性原则 类型兼容性原则 :…

文章目录

  • 一、public 公有继承 - 示例分析
    • 1、类型兼容性原则
    • 2、类型兼容性原则应用场景
  • 二、类型兼容性原则 - 示例分析
    • 1、父类指针 指向 子类对象
    • 2、使用 子类对象 为 父类对象 进行初始化
    • 3、完整代码示例






一、public 公有继承 - 示例分析




1、类型兼容性原则


类型兼容性原则 : C++ 的 " 类型兼容性原则 “ 又称为 ” 赋值兼容性原则 " ;

子类代替父类 : 需要 基类 ( 父类 ) 对象的 地方 , 都可以使用 " 公有继承 " 的 派生类 ( 子类 ) 对象 替代 , 该 派生类 ( 子类 ) 得到了 除 构造函数 和 析构函数 之外的 所有 成员变量 和 成员方法 ;

功能完整性 : " 公有继承 " 的 派生类 ( 子类 ) 本质上 具有 基类 ( 父类 ) 的 完整功能 , 使用 基类 可以解决的问题 , 使用 公有继承派生类 都能解决 ;


特别注意 : " 保护继承 " 和 " 私有继承 " 的 派生类 , 是 不具有 基类 的 完整功能的 , 因为 最终继承 后的派生类 , 无法在 类外部调用 父类的 公有成员 和 保护成员 ;


2、类型兼容性原则应用场景


" 类型兼容性原则 " 应用场景 :

  • 直接使用 : 使用 子类对象 作为 父类对象 使用 ;
  • 赋值 : 将 子类对象 赋值给 父类对象 ;
  • 初始化 : 使用 子类对象 为 父类对象 初始化 ;
  • 指针 : 父类指针 指向 子类对象 , 父类指针 值为 子类对象 在 堆内存 的地址 , 也就是 将 子类对象 地址 赋值给 父类类型指针 ;
  • 引用 : 父类引用 引用 子类对象 , 将 子类对象 赋值给 父类类型的引用 ;




二、类型兼容性原则 - 示例分析



定义父类 Parent , 子类 Child ;

class Parent {
public:void funParent(){cout << "父类 funParent 函数" << endl;}private:int c;
};// 子类 公有继承 父类
class Child : public Parent {
public:void funChild() {cout << "子类 funChild 函数" << endl;}
};

1、父类指针 指向 子类对象


定义 一个子类对象 Child child ;

定义父类的指针 , 将 指针 指向 子类对象 的地址 , 这是合法的 ;

代码示例 :

    // 父类对象Parent parent;// 子类对象Child child;// I. 类型兼容性原则 : 父类指针 指向 子类对象Parent* p_parent2 = NULL;p_parent2 = &child;

该原则的应用场景如下 : 定义函数 , 接收 父类指针 或 父类引用 , 此处可以直接传入 子类指针 或 子类引用 ;

// 函数接收父类指针类型
// 此处可以传入子类对象的指针
void fun_pointer(Parent* obj)
{obj->funParent();
}// 函数接收父类引用类型
// 此处可以传入子类对象的引用
void fun_reference(Parent& obj)
{obj.funParent();
}

2、使用 子类对象 为 父类对象 进行初始化


定义父类对象 , 可以直接使用 子类对象 进行初始化操作 ;

    // II. 类型兼容性原则 : 使用 子类对象 为 父类对象 进行初始化Parent parent = child;

3、完整代码示例


#include "iostream"
using namespace std;class Parent {
public:void funParent(){cout << "父类 funParent 函数" << endl;}private:int c;
};// 子类 公有继承 父类
class Child : public Parent {
public:void funChild() {cout << "子类 funChild 函数" << endl;}
};// 函数接收父类指针类型
// 此处可以传入子类对象的指针
void fun_pointer(Parent* obj)
{obj->funParent();
}// 函数接收父类引用类型
// 此处可以传入子类对象的引用
void fun_reference(Parent& obj)
{obj.funParent();
}int main() {// 父类对象Parent parent;// 子类对象Child child;// 父类对象 可以调用 父类公有函数parent.funParent();// 子类对象 可以调用 子类自身公有函数child.funChild();// 子类对象 可以调用 父类公有函数child.funParent();// 将指向子类对象的指针传给接收父类指针的函数// 也是可以的fun_pointer(&child);// 接收父类引用 , 此处传入子类引用fun_reference(child);// 赋值兼容性原则 : cout << "\n赋值兼容性原则示例 : \n" << endl;// 常规操作 : 父类指针 指向 父类对象Parent* p_parent = NULL;p_parent = &parent;// 通过父类指针调用父类函数p_parent->funParent();// 将指向子类对象的指针传给接收父类指针的函数// 也是可以的fun_pointer(p_parent);// 接收父类引用参数fun_reference(*p_parent);// I. 类型兼容性原则 : 父类指针 指向 子类对象Parent* p_parent2 = NULL;p_parent2 = &child;// 通过父类指针调用父类函数p_parent2->funParent();// II. 类型兼容性原则 : 使用 子类对象 为 父类对象 进行初始化Parent parent3 = child;// 控制台暂停 , 按任意键继续向后执行system("pause");return 0;
}

执行结果 :

父类 funParent 函数
子类 funChild 函数
父类 funParent 函数
父类 funParent 函数
父类 funParent 函数赋值兼容性原则示例 :父类 funParent 函数
父类 funParent 函数
父类 funParent 函数
父类 funParent 函数
Press any key to continue . . .

在这里插入图片描述

http://www.jinmujx.cn/news/117362.html

相关文章:

  • 上海网站建设300上海专业seo排名优化
  • 网站地图页面设计海外推广渠道
  • 汽车网站建设需要多少钱国外seo大神
  • 一个网站页面设计多少钱东莞网站seo公司
  • 零基础搭建网站免费推广的网站平台
  • 网站建设市场行情报价网络seo优化推广
  • 网站后台动态播放怎么做的147seo工具
  • b2b 网站制作白酒最有效的推广方式
  • 莆田网站建设开发网站seo报价
  • 玩具网站建设策划书网络营销的基本内容有哪些
  • 免费手机网站制作app软文推广产品
  • 衡水做外贸网站建设百度新闻发布
  • 湖南做网站 多少钱磐石网络seo网站排名全选
  • 营销型网站建设与推广贵阳百度快照优化排名
  • 网站做盗版视频赚钱吗百度收录查询api
  • 济南网站建设排名2021年近期舆情热点话题
  • 黑龙江省和城乡建设厅网站网站排名优化多少钱
  • 首页>新闻>正文 网站怎么做友情链接你会回来感谢我
  • 网站批量做https软件开发培训
  • 定制开发小程序北京网站优化体验
  • php做的网站缺点seo搜索引擎优化方式
  • 南川区 网站集约化建设方案yoast seo教程
  • 康巴什住房和城乡建设局网站关键词智能调词工具
  • 网站推广资讯网站展示型推广
  • 公司做网站一般多少钱哈市今日头条最新
  • 杭州网站建设找思创网络厦门最快seo
  • 做商城网站要哪些流程图我想自己建立一个网站
  • 四平做网站西安百度首页优化
  • 摄影网站建设目的营销推广的工具有哪些
  • 海南e登录app网站seo关键词设置