c++day5

1:写一个Msg消息队列类,要求有以下功能 Msg m() 构造函数,创建消息队列 m[1] << "hello" 向消息队列的1频道写入数据"hello",当然可以是其他的字符串数据 m[2] >> str :从2频道读取消息,并且将读到的消息存入str中 析构函数:删除消息队列

复制代码
#include <iostream>
#include <cstring>
#include <cstdlib>
#include <unistd.h>
#include <sstream>
#include <vector>
#include <memory>
 
using namespace std;
 
class Msg{
private:
    string m[2];
public:
    Msg(){
        cout << "消息队列创建成功" << endl;
    }
    ~Msg(){
        cout<< "成功删除消息队列" << endl;
    }
    string& operator[](int channel){
        return m[channel];
    }
    friend void operator>>(string& channel,const string& s);
    friend string& operator<<(string& channel,string& s);
};
 
void operator>>(string& channel,const string& s){
    channel=s;
    cout << "成功将消息: " << s << "  写入消息队列中" << endl;
}
 
string& operator<<(string& channel,string& s){
    s=channel;
    cout << "成功读取到消息" << endl;
    return s;
}
 
int main(int argc,const char** argv){
    Msg m;
    m[0]>>"你好";
    string str;
    m[1]<< str;
    cout << str<<endl;
	return 0;
}

2:写一个员工类 Employee,有一个多态函数叫做 getSalary 有一个 Cleanner 保洁类,继承自员工类:每个月获得 5000 工资 有一个 Coder 程序员类,继承自员工类,每个月获得 10000工资 有一个 Manger 经理类,继承自员工类,每个月获得 15000工资 写一个发工资的函数,要求,能够为所有员工发放工资,即使追加新的岗位,也不会改变这个函数的逻辑

复制代码
#include <iostream>
#include <cstring>
#include <cstdlib>
#include <unistd.h>
#include <sstream>
#include <vector>
#include <memory>

using namespace std;

class Employee{
private:

public:
    virtual void getSalary()
    {
        cout<<"salary"<<endl;
    }

};
class Cleanner:public Employee{
    void getSalary()
    {
        cout<<"5000"<<endl;
    }
};
class Coder:public Employee{
    void getSalary()
    {
        cout<<"10000"<<endl;
    }
};
class Manger:public Employee{
    void getSalary()
    {
        cout<<"15000"<<endl;
    }
};
void outsalary(Employee& G)
{
    G.getSalary();
}


int main(int argc,const char** argv){
    Cleanner C;
    Manger M;
    Coder B;
    outsalary(C);

return 0;
}                                         

3:写一个基类叫做颜色 写3个派生类,红绿蓝以及需要存在的其他颜色,继承自颜色类 要求实现以下功能: Red r Green g; Color new_color = r + g new_color.show() ;// 终端输出 "黄色"(未运行检查)

相关推荐
Ray Liang29 分钟前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计
Sailing31 分钟前
🚀 别再乱写 16px 了!CSS 单位体系已经进入“计算时代”,真正的响应式布局
前端·css·面试
Java水解44 分钟前
Java 中间件:Dubbo 服务降级(Mock 机制)
java·后端
SuperEugene3 小时前
Vue状态管理扫盲篇:Vuex 到 Pinia | 为什么大家都在迁移?核心用法对比
前端·vue.js·面试
Hilaku3 小时前
我会如何考核一个在简历里大谈 AI 提效的高级前端?
前端·javascript·面试
前端Hardy4 小时前
别再用 $emit 满天飞了!Vue 3 组件通信的 4 种正确姿势,第 3 种 90% 的人不知道
前端·vue.js·面试
我叫黑大帅4 小时前
前端如何利用 GitHub Actions 自动构建并发布到 GitHub Pages?
前端·面试·github
我叫黑大帅4 小时前
前端总说的防抖与节流到底是什么?
前端·javascript·面试
掘金安东尼4 小时前
从平面到空间:用 React Three Fiber 构建 3D 产品网格
前端·javascript·面试
swipe4 小时前
#用这 9 个浏览器 API,我把页面从“卡成 PPT”救回到 90+(每个都有能直接抄的例子)
前端·javascript·面试