技术标签: # C/C++
main.cpp
#include <iostream>
#include <stdlib.h>
#include "employee.h"
#include "coder.h"
#include "manager.h"
#include "saleman.h"
#include "saleManager.h"
using namespace std;
//new coder,new manager,new saleman,
int main(){
employee *e[] = {new coder,new saleManager};
for(int i=0;i<sizeof(e)/sizeof(e[0]);i++){
e[i]->init();
e[i]->getInfo();
}
system("pause");
return 0;
}
#pragma once
#include <string>
#include <iostream>
using namespace std;
static int e_id = 1000;
class employee
{
public:
employee(void);
virtual void init() = 0;
void getSalary();
void getInfo();
virtual~employee(void);
protected:
string name;
int level;
int id;
double salary;
};
#include "employee.h"
employee::employee(void)
{
name = "";
level = 1;
salary = 0.0;
id = e_id++;
}
void employee::getSalary(){
cout << "工资:" << salary << endl;
}
void employee::getInfo(){
cout << "----------------" << endl;
cout << "姓名:" << name << endl;
cout << "等级:" << level << endl;
cout << "编号:" << id << endl;
cout << "工资:" << salary << endl;
cout << "----------------" << endl;
}
employee::~employee(void)
{
}
#pragma once
#include "employee.h"
class coder :
public employee
{
public:
coder(void);
virtual void init();
~coder(void);
private:
int day;
int hour;
int hourWage;
};
#include "coder.h"
coder::coder(void)
{
}
void coder::init(){
cout << "+添加一个程序员信息" << endl;
cout << "请输入雇员姓名" << endl;
cin >> name;
cout << "请输入雇员等级" << endl;
cin >> level;
cout << "请输入每月上班天数" << endl;
cin >> day;
cout << "请输入每日上班小时数" << endl;
cin >> hour;
hourWage = 100;
salary = day * hour * hourWage;
}
coder::~coder(void)
{
}
#pragma once
#include "employee.h"
class manager :
virtual public employee
{
public:
manager(void);
virtual void init();
~manager(void);
};
#include "manager.h"
manager::manager(void)
{
}
void manager::init(){
cout << "+添加一个经理信息" << endl;
cout << "请输入雇员姓名" << endl;
cin >> name;
cout << "请输入雇员等级" << endl;
cin >> level;
salary = 8000;
}
manager::~manager(void)
{
}
#pragma once
#include "employee.h"
class saleman :
virtual public employee
{
public:
saleman(void);
virtual void init();
~saleman(void);
protected:
double saleVolumn;
};
#include "saleman.h"
saleman::saleman(void)
{
}
void saleman::init(){
cout << "+添加一个销售员信息" << endl;
cout << "请输入雇员姓名" << endl;
cin >> name;
cout << "请输入雇员等级" << endl;
cin >> level;
cout << "请输入当月销售额" << endl;
cin >> saleVolumn;
salary = saleVolumn * 0.04;
}
saleman::~saleman(void)
{
}
#pragma once
#include "manager.h"
#include "saleman.h"
class saleManager :
public manager,public saleman
{
public:
saleManager(void);
virtual void init();
~saleManager(void);
};
#include "saleManager.h"
saleManager::saleManager(void)
{
}
void saleManager::init(){
cout << "+添加一个销售经理信息" << endl;
cout << "请输入雇员姓名" << endl;
cin >> name;
cout << "请输入雇员等级" << endl;
cin >> level;
cout << "请输入当月销售额" << endl;
cin >> saleVolumn;
salary = saleVolumn * 0.05 + 5000;
}
saleManager::~saleManager(void)
{
}
基础篇:redis在java程序中的用法1.需要打开redis数据库服务2.需要引入jedis.jar3.创建MyRedis类进行测试import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import re
定义/* * low level task data that entry.S needs immediate access to. * __switch_to() assumes cpu_context follows immediately after cpu_domain. */struct thread_info { unsigned long flags; /* low
BGP路由不优BGP路由下一跳不可达 BGP同步拓扑图 (AS 234之间直接 2 4建立BGP,EBGP之间采取直连 )下一跳属性:将EBGP邻居学习路由传递给IBGP邻居时,下一跳不发生变化将IBGP邻居学习路由传递给EBGP邻居时,下一跳为EBGP邻居建立的更新源地址。把R4的环回通告,R2会加表失败,这是因为底层是EIGRP,AD值90小于200,所以...
事件循环,event loop的重要概念:1、Javascript是单线程的,所有的同步任务都会在主线程中执行。2、当主线程中的任务,都执行完之后,系统会 “依次” 读取任务队列里的事件。与之相对应的异步任务进入主线程,开始执行。3、==异步任务之间,会存在差异,所以它们执行的优先级也会有区别。==大致分为 微任务(micro task,如:Promise、MutaionObserver等)和宏任务(macro task,如:setTimeout、setInterval、I/O等)。4、Promis
本文旨在解释“循环生成网络”的内部工作原理,以及如何将其应用于解决现实世界中的任务。介绍 循环生成对抗网络(简称CycleGans)[1]是功能强大的计算机算法,具有改善数字生态系统的潜力。 它们能够将信息从一种表示形式转换为另一种表示形式。 例如,当给定图像时,他们可以对其进行模糊处理,着色(如果其最初是黑白的),提高其清晰度或填补缺失的空白。 它们比传统的设计/生产/写作软件更强大。 因为CycleGans是机器学习算法,所以它们原则上可以学习实现所需的任何转换。 相反,传统的转换软
VC++常用功能封装代码一系列文章与源码 (欢迎订阅,持续更新...))https://blog.csdn.net/kaizi318/article/details/108846326源代码demo已上传到百度网盘:永久生效 实现功能,实现了串口打开,接收,发送等功能 ,还支持modbus串口通讯功能如看效果:上代码,添加封装好的类到项目中,class CSerialPort{public: int m_nWriteSize; void ClosePort();...
★基本框架★import sysfrom PyQt5.QtGui import *from PyQt5.QtCore import *from PyQt5.QtWidgets import *class Demo(QWidget): def __init__(self): super(Demo, self).__init__() ...
千呼万唤始出来,终于是在漫长的折磨中等来了武汉理工的拟录取通知。到2021年4月20日,我十四个月的考研路终于算是彻底结束,一切尘埃落定。特写此文来回顾总结我的考研经历,也给后面想要报考武汉理工大学的学弟学妹们一些参考。首先介绍一下我自己,本科武汉一双非院校,2021报考武汉理工大学计算机技术专硕,初试成绩396,计专方向排名第五;复试80.16,总分79.49,总排名计专第十上岸。初试武汉理工大学计专初试科目为 政治 英语二 数学二 408计算机基础综合。数学数学的学习没有捷径可言,一步一脚印的
python之BeautifulSoup库简介:BeautifulSoup库通过定位 HTML 标签来格式化和组织复杂的网络信息,用简单易用的Python对象为我们展现 XML 结构信息 安装: 博主是python3.6 版本通过命令:pip install beautifulsoup4进行安装简单范例:问题一1:代码# coding=utf-8"""@author: jiajiknag程
[安卓开发笔记一]Android开发配置opencv环境超详细教程 开发安卓项目时要用到opencv,在网上找了很多教程,踩了很多坑才弄好,这里将自己亲自配置的过程记录如下,方便后人1、前期准备1 上opencv官网,下载opencv for android 2 安装 Android studio 2、方法一(使用C++实现底层算法再利用jni传递使用)开始配置1.安装Android ND...
回退到当前版本,重置代码,代码恢复到原始状态git reset --hard HEAD切换到master分支git checkout master拉取最新代码并合并git pull
半信半疑我加了一个卖课的微信,她跟我说,学了python就能轻松搞定各种可视化报表,实现自动化,能转行干程序员,工作好找工资高,而且python入门简单,0基础也能学....听起来python是个万能语言,于是我二话不说就报名了,不求转行程序员,能帮我实现自动化报表听起来也不错。于是一个年近35的老财务就开始写起了代码,但是课上了一大半,我觉得我被骗了。就拿课程里学的用python操作 Excel...