C++面向对象编程 继承和派生
来源:互联网 发布:淘宝主板主图素材图片 编辑:程序博客网 时间:2024/06/04 08:33
C++面向对象编程
继承是保持原有类的基础上进行扩展
继承关系具有双重关系作用:
1)作为类的构造机制, 继承通过扩充, 组合现有的类来构造新的类
2) 作为类型的构造机制, 如归B继承A则所有要求对象A类型的地方也可以接受B类型的方法
派生类的概念
1)有一个基类派生的继承称作是单继承
2) 从多个基类派生的继承称作是多继承
1、 单继承
class 派生类名:继承方式 类名
{
派生类新定义成员;
};
eg .
class A
{
}
class B: public A
{
//类B新添加的成员函数
//类B新添加的成员函数
}
2、多继承
class 派生类名:继承方式1 , 继承方式2 基类名2 ,.....
{
//派生类新定义的方式
};
eg.
class A
{
//类的成员
}
class B
{
//类的成员
};
class C: public A , private B
{
//类C新添加的成员
};
派生类的生成过程:
1)吸收 基类成员
2)改造基类成员
3)添加新的成员
继承方式 :
1)公有继承
2) 保护继承
3) 私有继承
公有类继承:
#include<iostream>using namespace std;class A{ public : int x;};class B :public A{ private: int y; protected: int z; public: int m; void setvalue(int a, int b, int c, int d) { x = a; //继承在类下因此B中依然有共有成员x y = b; //这里是说的是公有继承 z = c; m = d; } void disp() { cout<<"y = "<<y<<endl; cout<<"x = "<<x<<endl; }};int main(){ B obj; obj.setvalue(1,2,3,4); obj.disp(); return 0;}
私有继承:
#include<iostream>using namespace std;class A{ private: int x; public : void setx(int i){ x = i;} void dispx(){cout<<"x = "<<x<<endl;}};class B: private A{ //私有继承 派生类的对象可以直接访问它们, 但是在类外部通过派生类的对象无法访问它们 private: int y; protected: int z; public: int m; void setvalue(int a, int b, int c, int d) { setx(a) ;//继承上面的类,下面可以进行直接调用 y = b; //private protect 在类的内部是可以直接调用的 z = c; m = d; } void disp() { dispx();//直接调用 cout<<"y = "<<y<<endl; cout<<"z = "<<z<<endl; }};int main(){ B obj; obj.setvalue(1,2,3,4); obj.disp(); obj.m = 4; //直接对共有数据成员进行赋值操作 cout<<"m = "<<obj.m<<endl; return 0;}
0 0
- C++面向对象编程 继承和派生
- C++面向对象编程 继承和派生
- 面向对象编程—派生,继承
- C++----继承和派生
- 【C++】继承和派生
- C++ 面向对象 继承与派生
- 继承与派生(面向对象)
- 面向对象编程--继承和复合
- 面向对象编程,继承
- 面向对象编程:继承
- 面向对象编程---继承
- 面向对象编程-继承
- [C++]继承和派生类
- C++__继承和派生
- C#——面向对象——继承——派生类及其构造函数
- Javascript面向对象编程-原型式继承和复制继承
- 第十周——面向对象——继承和派生——项目三 点类派生直线类
- 黑马程序员——OC—OC中面向的对象特征之继承和派生
- PCB设计中覆铜的利弊谈
- pulltorefresh(一)使用介绍,实现下拉刷新上拉加载更多
- 页面打印 (JS)
- MySql 主键自动增长
- 重拾Java回忆录(十):Java10反射机制
- C++面向对象编程 继承和派生
- 滋组抓拽啄撞走佐奏佐纂遵专锥租醉浊组
- openCV学习笔记(2):Canny边缘检测算法应用
- Android切换Fragment保持状态
- 你会做年度计划吗?
- android杀进程方法
- [Android界面] 屏幕方向改变资源处理问题 [
- HBRUSH
- ORACLE 百万行数据查询优化