Cpp6 封装、继承和多态

C++封装继承与多态
本文介绍C++中封装、继承与多态的基本概念及其应用。重点讲解了子类如何从父类继承成员变量与函数,数据隐藏的目的及实现方式,并详细探讨了虚函数与纯虚函数的作用和区别。

继承

  1. 子类从父类继承成员变量
  2. 子类从父类继承成员函数
#include "stdafx.h"
class Person
{
public:
    int Age;
    int Sex;
    void Word()
    {
        printf("Person:Work");
    }
};

class Teacher:public Person
{
public:
    int Level;
};


int main()
{
    Teacher t;
    t.Age = -1; //合法但是不合理
    t.Sex = 2;
    t.Level = 3;
    return 0;
}

实现数据隐藏

为什么要隐藏数据成员

  1. 与前面比较,赋值的时候 合理不合法,手机的电路板也没有暴露在外面啊
  2. 根本的目的是可控

不要造相同的轮子

代码复用的两种体现方式:

  1. 继承
  2. 共用相同的函数

函数的重写

成员函数的重写特征:

  1. 不同的范围(分别位于派生类与基类)
  2. 函数名字相同
  3. 参数相同
  4. 基类函数必须有virtual关键字,称为虚函数

多态

多态就是可以让父类指针有多种形态。
C++中式通过虚函数实现的多态性

纯虚函数

  1. 虚函数目的是提供一个统一的接口,被继承的子类重载,以多态的形式被调用。
  2. 如果基类中的函数没有任何实现的意义,那么可以定位为纯虚函数。 virtual 返回类型 函数名(参数列表) =0; virtual int fuck(int count) =0;
  3. 含有纯虚函数的类被成为抽象类(abstract class),不能创建对象
  4. 虚函数可以被直接使用,也可以被子类(sub class)重载以后以多态的形式调用,而纯虚函数必须在子类(sub class)中实现该函数才可以使用

转载于:https://www.cnblogs.com/daoyi/articles/Cpp6-feng-zhuang-ji-cheng-he-duo-tai.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值