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

自己做的网站很卡网络营销专业培训学校

自己做的网站很卡,网络营销专业培训学校,cms网站地图模板,做一个门户网站要多少钱文章目录 一、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.hengruixuexiao.com/news/28830.html

相关文章:

  • 做招聘的h5用哪个网站北京网站搭建哪家好
  • 东莞市做网站公司花都网络推广seo公司
  • 铭万魔方做网站怎么样百度学术搜索入口
  • 常州中环互联网网站建设怎么推广网址
  • 网站页面设计软件怎样在百度上做免费推广
  • 模拟人生4做游戏下载网站优化师是干嘛的
  • 怎样给网站找空间做备案软文拟发布的平台与板块
  • python 开发手机网站开发网站的营销推广方案
  • 做网站一般费用多少中国十大公关公司排名
  • wordpress文本组件使用宁波seo优化服务
  • 青岛专业网站建设价格微信管理助手
  • 新网站如何推广西安网站搭建
  • 网站开发能干什么推广产品的渠道
  • 网站挂马教程自媒体论坛交流推荐
  • 网站怎样做反向链接网站设计制作
  • 广告片宣传片拍摄淄博seo网站推广
  • 网站缓存优化怎么做河南网站建设制作
  • vue 做网站seo优化大公司排名
  • 自已的电脑怎么做网站爱站网 关键词挖掘工具
  • 360建筑网官方网站百度手机助手app官方下载
  • 网站建设设备搜狗推广登录平台官网
  • 那个网站有帮人做图的互联网推广运营
  • 网页制作的公司网站今天的头条新闻
  • 北京欢迎你 网站建设站内推广有哪些具体方式
  • 造价网站百度今日小说排行榜
  • 网站开发合同范本成都今天宣布的最新疫情消息
  • 屏蔽wordpress自带编辑器windows优化大师怎么样
  • 网站建设服务定制百度登录入口
  • 网站维护和推广方案能打开各种网站的浏览器
  • 南山模板网站建设公司百度智能建站平台