派生类与基类学习

本文介绍了 C++ 中基类与派生类的概念及其实现方式,并通过一个具体的员工类与经理类的例子展示了虚函数的使用方法,实现了多态性。

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

前几天忙着论文排版,学了半天LATEX。本科毕设用的模板,很顺手。可是这次要自己写排版的程序,就有点头大,不过还好在参考书的帮助下完成了,但是还是有些不理想。编程就耽搁了。那天本来看了一会类模板之类的东西,但是笔记做到了本上,就没有发博客。今天继续。

今天上课C++课,学习了派生类的知识,主要是基类和派生类的概念还有实现方式。主要做的练习是虚函数,在基类中定义一个virtual关键字开头的虚函数,然后再派生类中可以多次重新改写这个函数,也可以直接调用基类的中该函数,可以很好地实现多态。

overriding改写,重写,主要意思是子类对父类函数的重新定义。

overloading,重载。这个就和派生基类都没有关系,主要是函数之间的关系,但注意,不能用不同的返值类型来区别不同的重载函数。

练习题:员工类,经理类继承自员工类。

#include<iostream>
using namespace std;


class employee {
string first_name,family_name;
short department;
public:
employee(const string& n,int d);
//virtual void print() const;
 void print() const;
employee& operator=(const employee&);
//employee(const emloyee&);
};
employee::employee(const string& n,int d):family_name(n),department(d){}




void employee::print() const {
cout<<family_name<<endl;
cout<<department<<endl;
}
class manager:public employee
{
//list<employee> group;
short level;
public:
manager(const string& n,int d,int level);
void print() const;
};
manager::manager(const string& n,int d,int lvl):employee(n,d),level(lvl) {}


void manager::print() const {
employee::print();
cout<<level<<endl;
}


int main()
{
employee e1("brown",1234);
manager m1("smith",1234,2);
e1.print();
m1.print();
return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值