C++学习历程(十二)类的继承详解

一、前言 
继承是c++语言一个重要的机制,该机制自动地为一个类提供来自另一个类的操作和数据结构,这使得程序员只需在新类中定义已有的类中没有的成分来建立一个新类。

二、继承解释 
继承是类的重要特性。A类继承B类,我称B类为“基类”,A为“子类”。A类继承了B类之后,A类就具有了B类的部分成员,具体得到了那些成员,这得由两个方面决定: 
- 继承方式 
- 基类成员的访问权限 
三、三种继承方式

  • **公有继承方式(public)
#include<iostream>
#include<string>
using namespace std;


class Student
{
public :
    Student(string s, int g,int a)
    {
        cout << "Constuct Student" << endl;
        name = s;
        grade = g;
        age = a;
    }
    void print()
    {
        cout << "Student:" << endl;
        cout << "name=" << name << endl;
        cout << "grade=" << grade<<endl;
        cout << "age=" << age << endl;
    }
protected:
    string name;
    int grade;
private:
    int age;
};

class GraduateStudent :public Student                        //继承方式i
{
public:
    GraduateStudent(string s, int g, int a) :Student(s, g, a)   //调用基类的构造函数,构造基类
    {
        cout << "Constuct GraduateStudent" << endl;
    } 
    /*
    公有继承方式,会把基类的公有成员(变量和函数)继承到子类公有成员,保护成员
    变成基类的保护成员,但是私有成员子类也一样不可以访问
    */
    void print1()
    {
        cout << "GraduateStudent:" << endl;                           
        cout << "name= " << name << endl;
        cout << "grade= " << grade << endl;
    }

};

void main()
{
    GraduateStudent g("Ouyang", 95, 21);
    g.print();                     //子类可以直接访问基类公共成员成员
    g.print1();
    system("pause");
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值