c++,继承

Posted qianrushi1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++,继承相关的知识,希望对你有一定的参考价值。

C++ 中的继承是类与类之间的关系,是一个很简单很直观的概念,与现实世界中的继承类似,例如儿子继承父亲的财产。

继承(Inheritance)可以理解为一个类从另一个类获取成员变量和成员函数的过程。例如类 B 继承于类 A,那么 B 就拥有 A 的成员变量和成员函数。

在C++中,派生(Derive和继承是一个概念,只是站的角度不同。继承是儿子接收父亲的产业,派生是父亲把产业传承给儿子。

被继承的类称为父类或基类,继承的类称为子类或派生类。“子类”和“父类”通常放在一起称呼,“基类”和“派生类”通常放在一起称呼。

派生类除了拥有基类的成员,还可以定义自己的新成员,以增强类的功能。

以下是两种典型的使用继承的场景:
1) 当你创建的新类与现有的类相似,只是多出若干成员变量或成员函数时,可以使用继承,这样不但会减少代码量,而且新类会拥有基类的所有功能。

2) 当你需要创建多个类,它们拥有很多相似的成员变量或成员函数时,也可以使用继承。可以将这些类的共同成员提取出来,定义为基类,然后从基类继承,既可以节省代码,也方便后续修改成员。

下面我们定义一个基类 People,然后由此派生出 Student 类:

 

 

#include<iostream>
using namespace std;
//基类 Pelple
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;
//派生类 Student
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;
int main()
Student stu;
stu.setname("小明");
stu.setage(16);
stu.setscore(95.5f);
cout<<stu.getname()<<"的年龄是 "<<stu.getage()<<",成绩是 "<<stu.getscore()<<endl;
return 0;

以上是关于c++,继承的主要内容,如果未能解决你的问题,请参考以下文章

C++-继承-菱形继承-菱形虚拟继承-虚函数表

[C/C++]详解C++中的继承

[C/C++]详解C++中的继承

C++___继承

C++___继承

C++_继承详谈