C++继承

目录

1.继承的概念

2.继承的格式

2.1继承方式和访问限定符

2.2继承基类成员访问方式的变化

3.基类和派生类对象赋值转换

4.隐藏/重定义

5.派生类的默认成员函数


1.继承的概念

继承是面向对象程序设计是代码可以复用的重要手段,可以在原有的特性上继续扩展,继承就是对类的复用。

2.继承的格式

person的成员变量和成员函数都会变成子类student的一部分。

class person
{
  protect:
    string name;
    int age;

};

class student : public person
{
 protected:
  int _stuid;//学号
}

2.1继承方式和访问限定符

2.2继承基类成员访问方式的变化

1.权限只能缩小,不能放大。

2.public > protect > private。

3.父类private成员,在派生类中一律不可见。

 

例:public成员遇到protect继承,在派生类就是protect成员,protect的权限小于public。

如果父类的成员,被继承后不想被在类外访问,就把该成员定义为保护。

3.基类和派生类对象赋值转换

派生类的对象/指针/引用是可以直接赋值给基类,因为会把派生类多出的部分给切片

基类是不能赋值给派生类

4.隐藏/重定义

1.派生类和基类都是拥有独立的作用域的。

2.基类和派生类中据有同名函数,这时候调用这个同名函数,优先调用派生类,基类函数就被隐藏。

3.函数名相同就构成隐藏。

例:基类func就在派生类bb中隐藏了。

class A
 {
  public:
    void fun()
    {
      cout << "func()" << endl;
    }
 };

 class B : public A
 {
  public:
     void fun(int i)
    {
     A::fun();
     cout << "func(int i)->" <<i<<endl;
    }
 };


void test()
{
    B bb;
    bb.func(10);
}

5.派生类的默认成员函数

派生类的默认成员函数,都要加上基类的那一部分。

例:对基类进行构造,就必须调用基类的构造。

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值