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

郑州网站建设亅汉狮网络直播视频网站

郑州网站建设亅汉狮网络,直播视频网站,店铺logo设计免费在线生成,外贸平台有哪些电商题目代码#include cstring // 包含字符串处理函数库#xff0c;如strlen、strncpy等 #include iostream // 包含输入输出流库#xff0c;用于cout等操作 using namespace std; // 使用标准命名空间#xff0c;避免重复书写std::class mystring { // 定…题目代码 #include cstring // 包含字符串处理函数库如strlen、strncpy等 #include iostream // 包含输入输出流库用于cout等操作 using namespace std; // 使用标准命名空间避免重复书写std::class mystring { // 定义mystring类用于字符串处理 private: // 私有成员仅类内部可访问char* str; // 指向动态分配的字符数组存储字符串内容size_t len; // 存储字符串占用的空间大小包括结束符\0public: // 公有成员类外部可访问// 默认构造函数创建长度为10的空字符串mystring() : len(10) { // 初始化列表将len初始化为10str new char[len]; // 动态分配长度为len的字符数组// 初始化为空字符串str[0] \0; // 将第一个字符设为结束符代表空字符串}// 打印字符串内容const成员函数不修改对象状态void print() const {cout str endl; // 输出字符串内容并换行}// 获取空间大小const成员函数不修改对象状态size_t getSize() const {return len; // 返回字符串占用的空间大小}// 修改字符串内容确保不越界void setContent(const char* newStr) { // 参数为常量字符串指针避免修改源字符串// 取新字符串长度和现有空间较小值减1是预留结束符位置防止越界size_t newLen min(strlen(newStr), len - 1); // strlen获取新字符串实际长度strncpy(str, newStr, newLen); // 安全复制字符串最多复制newLen个字符// 确保以\0结尾避免输出乱码str[newLen] \0; // 在复制的字符末尾添加结束符}// 析构函数释放动态分配的内存防止内存泄漏~mystring() {delete[] str; // 释放动态分配的字符数组} };// 测试mystring类的功能 int main() {mystring s; // 创建mystring类的对象s调用默认构造函数cout 空间大小: s.getSize() endl; // 输出对象s的空间大小s.setContent(Hello); // 调用setContent方法设置字符串为Hellocout 字符串内容: ; // 输出提示信息s.print(); // 调用print方法输出字符串内容s.setContent(World! Long Text); // 设置较长的字符串会被截断以适应空间cout 修改后内容: ; // 输出提示信息s.print(); // 输出修改后的字符串内容return 0; // 程序正常结束 }关键点说明构造函数mystring() 中动态分配内存默认创建长度为 10 的字符数组并初始化为空字符串。setContent用 strncpy 保证不会越界最后手动加 \0 确保字符串正确结束。析构函数用 delete[] 释放动态分配的内存避免内存泄漏。const 成员函数print 和 getSize 不会修改对象状态标记为 const 更安全。 从代码设计角度来看是否使用 protected保护成员取决于类的 继承需求 和 设计意图 。以下从几个维度解释当前代码没用到 protected 的原因以及何时适合用 protected 1. 类的定位无需继承扩展当前 mystring 类是一个 独立功能类 设计目标是封装字符串的基础操作构造、打印、修改内容等没有考虑让其他类继承它 。protected 的核心作用是 给子类开放访问权限 子类可访问父类的 protected 成员外部类 / 函数不行 。如果类不需要被继承扩展所有成员用 private隐藏实现细节  public开放对外接口 即可protected 就用不上。2. 设计原则隐藏实现细节代码里 str 和 len 是 private 这是 封装思想 的体现private 强制外部代码通过 public 接口如 print、getSize、setContent 操作类避免直接篡改内部状态比如直接修改 str 指针导致内存混乱 。如果把 str 或 len 设为 protected 子类继承后能直接访问 / 修改它们可能破坏父类的封装逻辑比如子类不小心改坏 str 指针父类功能就会异常 。3. 何时需要 protected 如果有 继承扩展场景 比如 // 假设要继承 mystring 扩展功能 class myAdvancedString : public mystring { public:void doSomething() {// 子类想直接访问父类的 len假设 len 是 protected// 如果父类 len 是 private这里会编译报错是 protected 则可以访问size_t parentLen len; // ... 基于父类状态扩展逻辑} }; 这种情况下若希望 子类能访问父类的部分内部成员 但又不想完全开放给外部 就可以把这些成员设为 protected 。总结当前 mystring 类因为 不需要被继承 所以用 private 隐藏实现、public 开放接口就足够无需 protected 。如果未来有继承扩展需求再根据实际场景需要子类访问哪些内部成员 决定是否引入 protected 。
http://www.zqtcl.cn/news/579294/

相关文章:

  • 深圳万齐创享网站建设网站建设基本教程
  • 聊城做网站信息建设工程合同可以分为
  • 网站设计 注意做筹款的网站需要什么资质
  • 家居网站建设费用国土局网站建设经验
  • 企业网站开发教程网站建设更改
  • 违法网站怎么做安全wordpress自定义应用
  • 四平英文网站建设wordpress添加特效
  • 如何在手机上制作网站企业网站 微博模块
  • 网站内容规范网站建设建设公司哪家好
  • 深圳网站制作公司地址如何制作手机版网站
  • 深圳定制网站制作报价网络交易平台
  • 鞍山网站制作报价wordpress手机客户端端
  • 开发触屏版网站标签苏州沧浪区做网站的
  • 网站接入商钓鱼网站链接怎么做
  • 建设部机关服务中心网站网站建设维护费 会计科目
  • 网站解析后怎么解决方法淘宝网站建设方案模板
  • 淘宝客可以自己做网站推广吗营销网络建设怎么写
  • 上海高端网站制作广告设计培训课程
  • 互联网站平台有哪些建筑工程教育网官网
  • 广告传媒公司哪家好职场seo是什么意思
  • 番禺龙美村做网站博山区住房和城乡建设局网站
  • 山东网站建设xywlcnwordpress如何创建导航
  • 直接用ip访问网站网站开发常用字体
  • 江西省城乡建设培训网 官方网站杭州十大软件公司
  • 建设网站需要什么设备南昌购物网站制作
  • 做家具的网站工作单位怎么填
  • 福州建设银行官网招聘网站山西建设公司网站
  • 集团网站建设方案中卫网站推广制作
  • 射阳网站建设电商运营团队结构图
  • 有没有女的做任务的网站计算机网站开发专业