c++类的继承与派生的基本概念和语法

来源:互联网 发布:群智能算法应用 编辑:程序博客网 时间:2024/05/18 00:26

先简单地理解下继承以及派生的关系和概念:

类之间的继承(Inheritance)我们就理解为一个类从另一个类获取成员变量和成员函数的过程。

比如说类 M 继承于类 N,那么 M 就拥有 N 的成员变量和成员函数。被继承的类称为父类或基类,继承的类称为子类或派生类。
派生类除了拥有基类的成员,还可以定义自己的新成员,以增强类的功能。


至于使用继承与派生的原因:

总结一下就是说如果你现在要创建一个大部分功能与原有的类相同的时候,使用继承,那么首先可以减少代码量,接着你可以在使用原有类的成员函数的基础上添加或者修改自己的成员函数。

提供个代码实例:

#include<iostream>using namespace std;class People{public:void setname(char *name);void setage(int age);char *getname();int getage();private:char *m_name;int m_age;};void People::setname(char *name){m_name = name;}void People::setage(int age){m_age = age;}char* People::getname(){return m_name;}int People::getage(){return m_age;}class Student: public People{public:void setscore(float score);float getscore();private:float m_score;};void Student::setscore(float score){m_score=score;}float Student::getscore(){return m_score;}//基类是People、派生出的类是Student //也就是说基类(父类)被派生类(子类)继承。 //继承(Inheritance)可以理解为一个类从另一个类获取成员变量和成员函数的过程。 //People 是基类,Student 是派生类。Student 类继承了 People 类的成员,//同时还新增了自己的成员变量 score 和成员函数 setscore()、getscore()。//这些继承过来的成员,可以通过子类对象访问,就像自己的一样。int main(){Student stu;stu.setname("建军节");stu.setage(12);stu.setscore(96.33f);cout<<stu.getname()<<" "<<stu.getage()<<" "<<stu.getscore()<<endl;return 0;}

People 是基类,Student 是派生类。Student 类继承了 People 类的成员,同时还新增了自己的成员变量 score 和成员函数 setscore()、getscore()。
这些继承过来的成员,可以通过子类对象访问,就像自己的一样。


注意实例的代码,声明继承的代码语法如何写的:

class Student: public People{};
继承的一般语法为:


class 派生类名:[继承方式] 基类名{
    派生类新增加的成员
};


继承方式包括 public(公有的)、private(私有的)和 protected(受保护的),此项是可选的,如果不写,那么默认为 private。


原创粉丝点击