当前位置: 首页 > wzjs >正文

网站建设人员任职要求培训课程有哪些

网站建设人员任职要求,培训课程有哪些,河南手机网站建设,青岛市北区网站制作公司封装一个mystring类 拥有私有成员: char* p int len 需要让以下代码编译通过,并实现对应功能 mystring str "hello" mystring ptr; ptr.copy(str) ptr.append(str) ptr.show() 输出ptr代表的字符串 ptr.compare(str) 比较ptr和str是否一样 pt…

封装一个mystring类 拥有私有成员: char* p int len 需要让以下代码编译通过,并实现对应功能 mystring str = "hello" mystring ptr; ptr.copy(str) ptr.append(str) ptr.show() 输出ptr代表的字符串 ptr.compare(str) 比较ptr和str是否一样 ptr.swap(str) 交换ptr 和 str的内容 实现以下功能 mystring str = "hello" mystring ptr = "world" str = str + ptr; str += ptr str[0] = 'H'

#include <iostream>
#include <cstring>
#include <cstdlib>
#include <unistd.h>
#include <sstream>
#include <vector>
#include <memory>using namespace std;class mystring {
private:char* p;int len;public:mystring(const char* str) {len = strlen(str);p = new char[len + 1];strcpy(p, str);}mystring() {p = NULL;len = 0;}~mystring() {if (p != NULL) {delete[] p;}}void copy(const char* r) {if (p != NULL) {delete[] p;}len = strlen(r);p = new char[len + 1];strcpy(p, r);}const char* data() {return p;}void show() {cout << p << endl;}void append(const mystring& r) {len = len + r.len;char* back = p;p = new char[len + 1];strcpy(p, back);strcat(p, r.p);delete[] back;}bool compare(const mystring& r) {return strcmp(p, r.p) == 0;}void swap(mystring& r) {char* temp = p;p = r.p;r.p = temp;}
};int main(int argc, const char** argv) {mystring str = "hello"; // 单参数构造函数mystring ptr;           // 默认构造函数ptr.copy(str.data());   // 复制 str 到 ptrptr.append(str);        // 将 str 追加到 ptrptr.show();             // 输出 ptr 的内容if (ptr.compare(str)) {cout << "ptr and str are the same." << endl;} else {cout << "ptr and str are different." << endl;}ptr.swap(str);          // 交换 ptr 和 str 的内容ptr.show();             // 输出 ptr 的内容str.show();             // 输出 str 的内容return 0;
}
#include <iostream>
#include <cstring>
#include <cstdlib>using namespace std;class mystring {
private:char* p;int len;public:// 构造函数mystring(const char* str = nullptr) {if (str) {len = strlen(str);p = new char[len + 1];strcpy(p, str);} else {p = nullptr;len = 0;}}// 析构函数~mystring() {if (p) {delete[] p;}}// 赋值运算符重载mystring& operator=(const mystring& other) {if (this != &other) {if (p) {delete[] p;}len = other.len;p = new char[len + 1];strcpy(p, other.p);}return *this;}// + 运算符重载mystring operator+(const mystring& other) const {mystring result;result.len = len + other.len;result.p = new char[result.len + 1];strcpy(result.p, p);strcat(result.p, other.p);return result;}// += 运算符重载mystring& operator+=(const mystring& other) {char* temp = p;len += other.len;p = new char[len + 1];strcpy(p, temp);strcat(p, other.p);delete[] temp;return *this;}// [] 运算符重载char& operator[](size_t index) {if (index >= len) {throw out_of_range("Index out of range");}return p[index];}const char& operator[](size_t index) const {if (index >= len) {throw out_of_range("Index out of range");}return p[index];}const char* data() const {return p;}void show() const {cout << p << endl;}
};int main() {mystring str = "hello";mystring ptr = "world";// 测试 + 运算符str = str + ptr;str.show();  // 输出 "helloworld"// 测试 += 运算符str += ptr;str.show();  // 输出 "helloworldworld"// 测试 [] 运算符str[0] = 'H';str.show();  // 输出 "Helloworldworld"return 0;
}

封装消息队列 class Msg{ key_t key int id; int channel } 实现以下功能 Msg m("文件名") m[1].send("数据"),将数据发送到1号频道中 string str = m[1].read(int size) 从1号频道中读取消息,并且返回 编写程序测试

#include <iostream>
#include <string>
#include <cstring>
#include <cstdlib>
#include <sys/ipc.h>
#include <sys/msg.h>
#include <unistd.h>
#include <stdexcept>using namespace std;// 消息结构体
struct Message {long mtype;       // 消息类型(频道号)char mtext[512];  // 消息内容
};// Msg 类封装
class Msg {
private:key_t key;   // 消息队列的键值int msgid;   // 消息队列的 ID// 创建或获取消息队列void createQueue(const string& filename) {key = ftok(filename.c_str(), 'a');if (key == -1) {throw runtime_error("Failed to generate key");}msgid = msgget(key, 0666 | IPC_CREAT);if (msgid == -1) {throw runtime_error("Failed to create/get message queue");}}public:// 构造函数Msg(const string& filename) {createQueue(filename);}// 析构函数~Msg() {// 删除消息队列(可选,也可以手动删除)msgctl(msgid, IPC_RMID, nullptr);}// 发送消息到指定频道void send(int channel, const string& data) {Message msg;msg.mtype = channel;strncpy(msg.mtext, data.c_str(), sizeof(msg.mtext) - 1);msg.mtext[sizeof(msg.mtext) - 1] = '\0';if (msgsnd(msgid, &msg, sizeof(msg.mtext), 0) == -1) {throw runtime_error("Failed to send message");}}// 从指定频道读取消息string read(int channel, int size) {Message msg;if (msgrcv(msgid, &msg, size, channel, 0) == -1) {throw runtime_error("Failed to receive message");}return string(msg.mtext);}// 重载 [] 运算符,返回一个代理对象struct ChannelProxy {Msg& msg;int channel;ChannelProxy(Msg& msg, int channel) : msg(msg), channel(channel) {}void send(const string& data) {msg.send(channel, data);}string read(int size) {return msg.read(channel, size);}};ChannelProxy operator[](int channel) {return ChannelProxy(*this, channel);}
};// 测试程序
int main() {try {// 创建消息队列Msg m("testfile");// 发送消息到1号频道m[1].send("Hello from channel 1");// 从1号频道读取消息string received = m[1].read(512);cout << "Received: " << received << endl;// 发送消息到2号频道m[2].send("Hello from channel 2");// 从2号频道读取消息received = m[2].read(512);cout << "Received: " << received << endl;} catch (const exception& e) {cerr << "Error: " << e.what() << endl;return 1;}return 0;
}

封装信号灯集 class Sem{ key_t key int id; int index } 实现以下功能 Sem s(参数x,参数y):创建信号灯集,信号灯集中存在 x 个信号量,并且将所有信号量初始化为 y s.init[1](10):手动初始化信号灯集中的第1个信号量,初始化成 10 s[1] + 1 让信号灯集中的第1个信号量的值 +1 s[1] - 1 让信号灯集中的第1个信号量的值 -1 编写程序测试

#include <iostream>
#include <string>
#include <cstring>
#include <cstdlib>
#include <sys/ipc.h>
#include <sys/sem.h>
#include <unistd.h>
#include <stdexcept>
#include <vector>using namespace std;
class Sem {
private:key_t key;int id;int index;// 创建信号量集void create()semun sem_union; // 初始化所有信号量
};

http://www.dtcms.com/wzjs/281868.html

相关文章:

  • 网站建设与维护管理办法全面网络推广营销策划
  • 海外浏览器搜索引擎优化seo公司
  • 乌鲁木齐可以做网站的公司seo的理解
  • 微信网站响应式网站顶尖文案网站
  • 电商商城系统免费海淀区seo全面优化
  • web网站开发使用直播源重庆企业seo
  • 做网站的属于什么岗位长沙网络推广哪家
  • 做网站申请多少类商标兰州网络seo
  • 导购类wordpress cms外汇seo公司
  • 做网站用什么工具好app推广接单发布平台
  • 网站的建设费计入什么费用视频外链工具
  • 怎么做废品网站推广app赚佣金
  • 泉州服装网站建设进入百度app查看
  • 长沙仿站定制模板建站360搜索网址是多少
  • 定制网站制作平台网站的宣传与推广
  • 做学校后台网站用什么浏览器打广告
  • 珠海网站建设 科速产品推广软件有哪些
  • 真分析对比他们的功能及特点_提出自己对政府门户网站建设的见解.seo资讯网
  • 文化集团网站模板最近时事热点
  • 做企业网站服务器在国外营销策划公司靠谱吗
  • 17网站一起做网店普宁网络公司推广方案
  • 宝鸡专门做网站的公司河源seo
  • 网站权重是什么最热门的短期培训课程
  • 个人主页页面东莞优化seo
  • 做外贸要看哪些网站域名批量注册查询
  • wordpress打开有背景音乐福州seo优化
  • 网页升级访问每天正常更新每日seo的主要内容
  • 网站通栏如何做特效快速网站推广优化
  • 南宁市做网站的公司深圳百度seo培训
  • wordpress 图片 主题 52工具seo