博客
关于我
(c++)4.2单继承
阅读量:725 次
发布时间:2019-03-21

本文共 1441 字,大约阅读时间需要 4 分钟。

C++继承机制概述

不论是哪种继承方式,这三个核心概念都在起作用:公有继承、私有继承以及保护继承。各类继承方式决定了派生类对基类成员的访问权限,从而影响代码的封装性和维护性。

以公有继承的例子为例,子类对基类的继承方式决定了对成员的访问权限。默认情况下,不同的继承方式会带来不同的访问权限规则。

以下是一个使用多继承模型的典型例子:

代码摘录:

#include 
using namespace std;class Point {public: void setxy(int myx, int myy) { X = myx; Y = myy; } void movexy(int x, int y) { X += x; Y += y; }protected: int X, Y;};class Circle : public Point {public: void setr(int myx, int myy, int myr) { setxy(myx, myy); R = myr; } void display() { cout << "The position of center is("; cout << X << ")"; cout << " and y coordinate is "; cout << Y << ")"; cout << "The radius of Circle is "; cout << R << endl; }protected: int R;};void Circle::display() { cout << "The position of center is(" << X << ")"; cout << " and y coordinate is "; cout << Y << ")"; cout << "The radius of Circle is "; cout << R << endl;}

代码解释:

  • "class Point" 定义了基类,包含两个成员函数 setxy 和 movexy,分别用于设置坐标点的 X 和 Y 值,以及移动坐标的位置。由于这些成员函数是公有的,子类继承时需要正确调用它们。
  • "class Circle : public Point" 定义了一个继承自 Point 的派生类,采用的是公有继承方式。这意味着 Circle 类不仅可以访问 Point 类的成员,还可以根据需要扩展自己的成员属性和函数。
  • "setr" 函数用于设置圆的半径 R,同时调用父类的 setxy 函数来初始化中心坐标。
  • "display" 函数用于输出圆的中心坐标和半径。它通过在主程序中被调用,打印出圆的相关信息。
  • 执行结果:

    • 初始数据:调用 setr 函数时,中心坐标被初始化为 (4, 5),半径设置为 6。
    • 新数据:调用 movexy 函数后,中心坐标被更新为 (11, 13),半径保持不变。

    上述代码展示了公有继承方式的典型应用,验证了我们在多继承模型中对访问权限的控制。通过合理设计继承层次,有助于提高代码的可维护性和复用性。

    转载地址:http://nbirz.baihongyu.com/

    你可能感兴趣的文章
    nacos服务提供和发现及客户端负载均衡配置
    查看>>
    Nacos服务注册与发现demo
    查看>>
    Nacos服务注册与发现的2种实现方法!
    查看>>
    nacos服务注册和发现原理简单实现案例
    查看>>
    Nacos服务注册总流程(源码分析)
    查看>>
    nacos服务注册流程
    查看>>
    Nacos服务部署安装
    查看>>
    nacos本地可以,上服务器报错
    查看>>
    Nacos注册Dubbo(2.7.x)以及namespace配置
    查看>>
    Nacos注册中心有几种调用方式?
    查看>>
    nacos注册失败,Feign调用失败,feign无法注入成我们的bean对象
    查看>>
    nacos源码 nacos注册中心1.4.x 源码 nacos源码如何下载 nacos 客户端源码下载地址 nacos discovery下载地址(一)
    查看>>
    nacos源码 nacos注册中心1.4.x 源码 spring cloud alibaba 的discovery做了什么 nacos客户端是如何启动的(二)
    查看>>
    nacos源码 nacos注册中心1.4.x 源码 如何注册服务 发送请求,nacos clinet客户端心跳 nacos 注册中心客户端如何发送的心跳 (三)
    查看>>
    Nacos源码分析:心跳机制、健康检查、服务发现、AP集群
    查看>>
    nacos看这一篇文章就够了
    查看>>
    Nacos简介、下载与配置持久化到Mysql
    查看>>
    Nacos简介和控制台服务安装
    查看>>
    Nacos管理界面详细介绍
    查看>>
    Nacos编译报错NacosException: endpoint is blank
    查看>>