博客
关于我
(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利用excel分析过杀漏失
    查看>>
    python判断汉字数目
    查看>>
    python判断文件是空的,如果是空的,就删除
    查看>>
    python判断密码是否正确_python密码判断是否符合要求的方法
    查看>>
    python判断字符串包含中文_Python 判断字符串是否包含中文
    查看>>
    python删除第一行_Python 乱码指北:一行删掉根目录
    查看>>
    Python删除列表元素的三种方法
    查看>>
    python初步学习-python数据类型-集合(set)
    查看>>
    python列表生成字典_Python中将字典转换为列表的方法
    查看>>
    python列表对应元素合并为列表及判断一个列表是几维
    查看>>
    python列表去重复后按照顺序_从包含不可共元素的Python列表中删除重复元素,同时保留顺序?...
    查看>>
    python列表前几个_python之列表
    查看>>
    python列表元组
    查看>>
    Python列表/元组/字典和集合使用
    查看>>
    python列表 行列选择_python_pandas_dataframe_行列选择_切片操作
    查看>>
    python列表
    查看>>
    python列出当前目录、子目录和文件的脚本
    查看>>
    python+flask计算机毕业设计骨科门诊患者档案管理系统(程序+开题+论文)
    查看>>
    python+flask计算机毕业设计高校体测管理系统的设计与实现(程序+开题+论文)
    查看>>
    Python切片对象和__getitem__
    查看>>