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

哪些网站做的海报比较高大上江苏网站快速排名优化

哪些网站做的海报比较高大上,江苏网站快速排名优化,装修办公室装修设计,东莞智通人才网招聘信息阅读导航 引言一、特殊类 --- 不能被拷贝的类1. C98方式#xff1a;2. C11方式#xff1a; 二、特殊类 --- 只能在堆上创建对象的类三、特殊类 --- 只能在栈上创建对象的类四、特殊类 --- 不能被继承的类1. C98方式2. C11方法 总结温馨提示 引言 在面向对象编程中#xff0… 阅读导航 引言一、特殊类 --- 不能被拷贝的类1. C98方式2. C11方式 二、特殊类 --- 只能在堆上创建对象的类三、特殊类 --- 只能在栈上创建对象的类四、特殊类 --- 不能被继承的类1. C98方式2. C11方法 总结温馨提示 引言 在面向对象编程中特殊类是指具有不同于常规类的特殊属性或限制的类。这些类可以通过各种方式达到特定的目标和需求例如只能在堆 ( 栈 ) 上创建对象的类、禁止拷贝和继承等。 本文将会讨论四种常见的特殊类不能被拷贝的类、只能在堆上创建对象的类、只能在栈上创建对象的类以及不能被继承的类。我们将介绍它们的实现方法和应用场景并提供相应的代码示例以帮助读者更好地理解这些特殊类的概念和用法。 一、特殊类 — 不能被拷贝的类 当一个类的拷贝是不允许的可以采取以下两种方式来实现 1. C98方式 在C98中可以通过将拷贝构造函数和赋值运算符重载声明为私有并且不实现它们来禁止拷贝。这样做的原因是私有访问权限限制了类外部的代码无法访问这两个函数的实现。 class CopyBan { private:CopyBan(const CopyBan); // 声明拷贝构造函数为私有CopyBan operator(const CopyBan); // 声明赋值运算符重载为私有 public:// 其他公共成员函数和数据成员 };这种方式通过将拷贝构造函数和赋值运算符重载放在私有区域从而阻止了类的外部对象调用这两个函数实现了禁止拷贝的目的。 2. C11方式 在C11中可以使用delete关键字来删除拷贝构造函数和赋值运算符重载。通过在函数声明后加上 delete可以明确告诉编译器要删除此函数防止类外部的代码调用它。 class CopyBan { public:CopyBan(const CopyBan) delete; // 删除拷贝构造函数CopyBan operator(const CopyBan) delete; // 删除赋值运算符重载// 其他公共成员函数和数据成员 };这种方式更加简洁明了直观地表达了禁止拷贝的意图。使用 delete语法可以方便地阻止拷贝构造函数和赋值运算符重载的调用。 无论是C98还是C11这两种方式都能有效地禁止类的拷贝增强代码的稳定性和安全性。选择哪种方式取决于你使用的C版本和个人偏好。 二、特殊类 — 只能在堆上创建对象的类 要设计一个只能在堆上创建对象的类可以使用私有的析构函数和静态成员函数来实现: class HeapOnly { private:HeapOnly() {} // 私有的默认构造函数防止在栈上创建对象~HeapOnly() {} // 私有的析构函数防止在栈上销毁对象public:static HeapOnly* createInstance() {return new HeapOnly();}void destroyInstance() {delete this;} };这个类中私有的默认构造函数和析构函数阻止了在栈上创建和销毁对象。而通过静态的createInstance()函数可以在堆上创建该类的对象并返回指向该对象的指针。然后我们可以使用对象的destroyInstance()函数在适当的时候手动删除对象从而释放内存。 以下是示例代码的使用方式 int main() {HeapOnly* obj HeapOnly::createInstance();// 使用对象obj-destroyInstance();return 0; }注意在这种设计中由于析构函数是私有的不能直接使用delete操作符来销毁对象。只能通过调用对象的destroyInstance()函数来手动删除对象。 三、特殊类 — 只能在栈上创建对象的类 要设计一个只能在栈上创建对象的类可以使用私有的构造函数和公有的静态成员函数来实现 class StackOnly { public:static StackOnly createInstance() {return StackOnly{};}private:StackOnly() default; // 私有的默认构造函数防止在堆上创建对象~StackOnly() default; // 默认析构函数 };这个类中私有的构造函数阻止了在堆上创建对象。而通过公有的静态createInstance()函数可以在栈上创建该类的对象并返回该对象的副本。由于没有指针和动态内存分配对象的生命周期由对象所在的作用域控制当对象离开作用域时会自动调用析构函数销毁对象。 以下是示例代码的使用方式 int main() {StackOnly obj StackOnly::createInstance();// 使用对象return 0; }这样设计的类限制了对象只能在栈上创建可以避免使用者误用动态内存分配从而提高了代码的健壮性。但请注意在这种设计中对象的拷贝构造函数、赋值运算符重载函数需要适当处理以确保对象的正确复制行为。 四、特殊类 — 不能被继承的类 1. C98方式 // C98中构造函数私有化派生类中调不到基类的构造函数。则无法继承 class NonInherit { public:static NonInherit GetInstance(){return NonInherit();} private:NonInherit(){} };注意在C98中虽然可以将构造函数私有化以阻止派生类调用基类的构造函数但这并不能完全阻止继承。派生类仍然可以继承基类的成员函数和非私有成员变量。 2. C11方法 要设计一个不能被继承的类可以使用C中的关键字final来实现 class NonInheritable final {// 类的定义 };通过在类的声明中添加final关键字可以阻止其他类继承该类。这样设计的类将是最终类不能被其他类所继承。 以下是示例代码的使用方式 class Derived : public NonInheritable { // 编译错误无法继承NonInheritable类};int main() {NonInheritable obj; // 创建NonInheritable类的对象// 使用对象return 0; }这样设计的类不能被继承可以确保类的封装性和稳定性防止其他类对其进行修改或破坏。这在某些情况下非常有用特别是当你希望限制类的继承性时。 总结 这些特殊类在面向对象编程中有着重要的作用并且通过选择合适的类设计模式我们可以更好地满足需求和解决问题。 在下一篇文章中我们将深入研究单例模式。单例模式是一种常用的设计模式它确保一个类只有一个实例并提供了全局访问点。当我们需要确保只有一个对象来协调系统操作或管理共享资源时单例模式非常有用。通过深入学习单例模式我们将能够更好地理解其原理和使用方法以及如何在实际开发中应用它。单例模式是一种非常有用的设计模式掌握它将有助于我们编写可靠、高效的代码。让我们一起探索单例模式的精髓吧敬请期待下一篇文章的发布 温馨提示 感谢您对博主文章的关注与支持另外我计划在未来的更新中持续探讨与本文相关的内容会为您带来更多关于C以及编程技术问题的深入解析、应用案例和趣味玩法等。请继续关注博主的更新不要错过任何精彩内容 再次感谢您的支持和关注。期待与您建立更紧密的互动共同探索C、算法和编程的奥秘。祝您生活愉快排便顺畅
http://www.zqtcl.cn/news/348086/

相关文章:

  • 浙江省住房和城乡建设厅网站打不开中国建设银行官网站纪念币预约
  • 推广软件的网站安徽省城乡建设网站
  • 用网站做淘宝客怎么样珍爱网
  • 龙岩建设局招聘网站网站dns解析失败
  • 音乐网站的音乐怎么做深圳美容网站建设
  • 贵阳市观山湖区网站建设wordpress博客vieu模板
  • 怎么区分网站的好坏网站建设营销型号的区别
  • wordpress固定链接 中文建设网站优化
  • 东莞地产网站建设简述建设iis网站的基本过程
  • 外贸网站建设 公司价格怎样在手机上制作网站
  • 网站建设电话销售录音企业做网站有什么用
  • 网站布局设计软件软件工程大学排名
  • 自己的网站做防伪码深圳软件开发公司招聘
  • 网上购物网站大全wordpress文本悬停变色
  • 科技类公司网站设计如何做各大网站广告链接
  • 深圳做h5网站制作奢侈品网站设计
  • 用什么程序做网站佛山网站建设慕枫
  • 萍乡网站建设哪家公司好惠州开发做商城网站建设哪家好
  • 2021半夜好用的网站在菲做平台网站
  • 国家排污许可网站台账怎么做wordpress表单位插件
  • 如何构建成交型网站wordpress搭建英文网站
  • 阿里云网站建设方案书怎么写四川做网站公司哪家好
  • 提供衡水网站建设wordpress游客看小图登陆查看大图
  • 网站开发优势wordpress 密码破解
  • 做网站空间需要多大深圳服装网站建设
  • 建网站wordpress制作app多少钱一个
  • 怎么做装修网站torrentkitty磁力猫
  • 网站建立站点wordpress手机网站模板制作
  • 宁夏建设工程招标投标信息网站教师做网站赚钱
  • 潍坊网站制作价格网站维护入门教程