博客
关于我
(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/

    你可能感兴趣的文章
    Python中range对象的使用以及打印九九乘法表
    查看>>
    Python中reshape函数参数-1的意思?
    查看>>
    Python中set.discard和set.remove方法之间的运行时差异?
    查看>>
    Python接口自动化测试企业级实战
    查看>>
    python中tkinter中value_输入字段中的python Tkinter get()值
    查看>>
    Python中wx.FlexGridSizer
    查看>>
    Python中xPath技术和BeautifulSoup的使用
    查看>>
    python中yield的用法详解——最简单,最清晰的解释
    查看>>
    python中‘set.intersection()‘的算法是什么?
    查看>>
    Python中一个图形中的多个绘图
    查看>>
    python中一个好的持久同步队列
    查看>>
    Python中不准确的对数
    查看>>
    python中什么是实例方法_在Python中创建实例方法对象的不同方法
    查看>>
    Python中使用cutecharts实现简单的手绘风格的图表
    查看>>
    python中使用dxfgrabber,解析dxf文件信息生成obj文件
    查看>>
    Python中使用ncmbot玩转网易云音乐
    查看>>
    Python中使用PIL快速实现二值图
    查看>>
    Python中使用PIL快速实现灰度图
    查看>>
    Python中使用pip install ncmbot时各种错误解决办法
    查看>>
    Python中使用requests和parsel爬取喜马拉雅电台音频
    查看>>