C++中的继承

类和类之间的关系

has-A:包含关系,用以描述一个类由多个“部件类”构成。实现has-A关系用类成员表示,即一个类中的数据成员是另一种已经定义的类。

uses-A :一个类部分地使用另一个类。通过类之间成员函数的相互联系,定义友员或对象参数传递实现。

is-A :机制称为“继承”。关系具有传递性,不具有对称性。

#include <iostream>
#include <string>
using namespace std;

class Student
{
private:
    string name;
    int age;
public:
    Student(string name1, int age1):name(name1),age(age1){}
    void dis()
    {
        cout<<"name: "<<name<<endl;
        cout<<"age: "<<age<<endl;
    }
};

//继承
class Student1: public Student
{
private:
    char sex;
    double score;
public:
    Student1(string name1, int age1, char sex1, double score1):Student(name1, age1),sex(sex1),score(score1){}
    void dis()
    {
        Student::dis();
        cout<<"sex: "<<sex<<endl;
        cout<<"score: "<<score<<endl;
    }
};

int main()
{
    Student stu("xmm", 26);
    stu.dis();
    cout<<endl;

    Student1 stu1("xmm", 26, 'M', 90);
    stu1.dis();

    return 0;
}
View Code

 

不同继承方式的访问控制

 

posted @ 2020-05-18 22:13  xd_xumaomao  阅读(99)  评论(0编辑  收藏  举报