《我的第一本C++书》--陈良乔 用基类和派生实现继承

本文详细介绍了C++中的类继承概念,包括基类与派生类的关系,以及如何通过继承来复用代码和扩展功能。展示了Teacher和Student类从Human基类中继承并添加特定行为的例子。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include "pch.h"

#include <iostream>

#include<iomanip>

#include<iostream>

#include<fstream>

#include<assert.h>

using namespace std;

/*********基类和派生实现继承***************/

class Human {

public:

//人类共有的行为

void Walk()

{

//走路

}

void Talk()

{

//说话

}

protected:   //可以在类的内部和类的派生类中访问,主要作用是吧属性方法遗传给子类

string m_strName;//名字

int m_nAge;//年龄

bool m_bMale;//性别

private:  //只能在类的内部访问

};

//public继承 基类所有成员的访问在派生类中不做改变

//private继承 基类所有公有成员变成自己的private成员

//protected继承 基类所有公有成员变成自己的protected成员

class Teacher :public Human {

//3.添加新的属性和行为

public:

void PrepareLesson() {

//备课

}

void TeacherLesson() {

//上课

}

void ReviewHomework() {

//批改作业

}

protected:

int m_nDuty;//职称

private:

};

class Student :public Human {

public:

void AttendClass() {

//上课

}

void DoHomework() {

//做家庭作业

}

protected:

int m_nId;//学号

};

class Pupil :public Student {

public:

//2.改进基类的属性和行为

void AttendClass() {

//上课

}

void DoHomework() {

//做家庭作业

}

};

void main()

{

Teacher   teacher;

teacher.Walk();//1.保留基类的属性和行为

}

继承的过程就是类的不断具体化,不断传承基类的属性和行为,并且发展自己特有的属性和行为的过程。

规则:B是A的一种,则允许B继承A。

A是B的一部分,则不运行B继承A。

总结:A包含B继承

A属于B组合https://blog.youkuaiyun.com/Alice_boy/article/details/86665808

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值