c++263抽象类在继承中的应用

ops/2024/9/24 3:35:33/

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

#include<iostream>
using namespace std;
//计算程序员工资
//1.要求能计算出junior_programmmer mid-programer adv-programmer的工资
//2.要求利用抽象类统一界面 方便程序的扩展 ex:新增计算架构师architect的工资class programmer
{
public:virtual void getSal() = 0;
};
class junior_programmer : public programmer {
public:junior_programmer(const char* name, const char* job, int sal) {this->name = name;this->job = job;this->sal = sal;}virtual void getSal() {cout << name << " " << job << ": " << sal << endl;}
private:const char* name;const char* job;int sal;
};class mid_programmer : public programmer {
public:mid_programmer(const char* name, const char* job, int sal) {this->name = name;this->job = job;this->sal = sal;}virtual void getSal() {cout << name << " " << job << ": " << sal << endl;}
private:const char* name;const char* job;int sal;
};class adv_programmer : public programmer {
public:adv_programmer(const char* name, const char* job, int sal) {this->name = name;this->job = job;this->sal = sal;}virtual void getSal() {cout << name << " " << job << ": " << sal << endl;}
private:const char* name;const char* job;int sal;
};class architect : public programmer {
public:architect(const char* name, const char* job, int sal) {this->name = name;this->job = job;this->sal = sal;}virtual void getSal() {cout << name << " " << job << ": " << sal << endl;}
private:const char* name;const char* job;int sal;
};//计算函数 :简单框架
void CalProgSal(programmer* base) {base->getSal();
}
void main()
{junior_programmer jp("小王", "jsdla", 6000);mid_programmer mp("中级", "jla", 6000);adv_programmer ap("高级 ", "jsa", 10000);//loading....architect ar("高", "architect", 15000);CalProgSal(&jp);CalProgSal(&mp);CalProgSal(&ap);CalProgSal(&ar);return;
}

http://www.ppmy.cn/ops/115096.html

相关文章

[创业之路-151] :职能部门/非经营部门 VS 业务部门/经营部门划分与职责

目录 前言&#xff1a; 一、部门分类 1、职能部门/非经营部门 2. 业务部门/经营部门 》 企业产品与服务提供链条中的部门 3、研发、生产属于职能部门&#xff0c;也属于业务部门吗&#xff1f; 二、战略 2.1 职能战略 1、定义与目的 2、特点 3、分类 4、作用 2.2 经…

面试题(三)

20、CA证书 服务器安装数字证书&#xff0c;客户端安装根证书 CA的颁发机构、有效期、签名、公钥、证书所有者 21、公钥和私钥有什么区别 22、三次握手 四次挥手 为什么要四次 服务端数据没有发送完&#xff0c;二三次不能合并 23、四次挥手完会立马关闭吗&#xff08;会监…

基于等保2.0标准——区块链安全扩展要求探讨

在数字经济时代&#xff0c;区块链作为新技术&#xff0c;能够推进经济社会规则体系重构&#xff0c;在经济金融、司法审判、食品追溯、商业贸易、公共信用等领域已有广泛应用。但在规划、建设、运维区块链的同时&#xff0c;也需要全面评估与防范区块链应用带来的安全隐患。 …

【解密 Kotlin 扩展函数】自定义函数(十二)

导读大纲 1.1 在 Kotlin 中创建集合1.2 自定义 joinToString 函数来实现字符串打印 1.1 在 Kotlin 中创建集合 学习如何创建集合 使用setOf函数创建集合, 使用mapOf创建映射, 使用listOf创建列表<1> to 并不是一个特殊的结构体, 而是一个普通函数 infix修饰符表示这是一…

【齐家网-注册/登录安全分析报告】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造成亏损无底洞…

vue组件的生命周期

一、组件运行的过程 开始--》import导入组件--》components注册组件--》以标签形式使用组件--》在内存中创建组建的实例对象--》把创建的组件实例渲染到页面上--》组件切换时销毁需要被隐藏的组件--》结束 组件的生命周期指的是&#xff1a;组件从创建、运行&#xff08;渲染…

周末总结(2024/09/22)

工作 人际关系核心实践&#xff1a; 要学会随时回应别人的善意&#xff0c;执行时间控制在5分钟以内 坚持每天早会打招呼 遇到接不住的话题时拉低自己&#xff0c;抬高别人(无阴阳气息) 朋友圈点赞控制在5min以内&#xff0c;职场社交不要放在5min以外 职场的人际关系在面对利…

【游戏党必看】2024年最适合玩游戏的电脑系统推荐!

许多玩家都在问如果在电脑上玩游戏装什么系统好呢&#xff1f;以下系统之家小编给大家推荐两款专门为游戏玩家打造的操作系统&#xff0c;针对大型游戏进行了深度优化&#xff0c;显著提升了系统性能&#xff0c;确保游戏运行更为流畅无阻&#xff0c;能完美兼容各种类型的游戏…