当前位置: 首页 > news >正文 毕业设计做网站应该学什么专业公司网站 南通 news 2025/10/22 10:39:31 毕业设计做网站应该学什么,专业公司网站 南通,代理服务器ip国外,建网站需多少钱目录 一、设计一个禁止拷贝的类 二、设计一个只能在堆区上创建对象的类 三、设计一个只能在栈区和静态区上创建对象的类 四、设计一个不能继承的类 五、设计一个只能创建一个对象的类#xff08;单例模式#xff09; 一、设计一个禁止拷贝的类 拷贝只会发生在两个场景中…目录 一、设计一个禁止拷贝的类 二、设计一个只能在堆区上创建对象的类 三、设计一个只能在栈区和静态区上创建对象的类 四、设计一个不能继承的类 五、设计一个只能创建一个对象的类单例模式 一、设计一个禁止拷贝的类 拷贝只会发生在两个场景中分别是拷贝构造和赋值因此想要让一个类禁止拷贝只需要让该类对象不能调用拷贝构造函数以及赋值运算符重载即可。 C98/03 class CopyBan { public:CopyBan() { } private:CopyBan(const CopyBan cb);CopyBan operator(const CopyBan cb); }; int main() {CopyBan cb1;// CopyBan cb2(cb1); // error// CopyBan cb3;// cb3 cb1; // errorreturn 0; } C11 class CopyBan { public:CopyBan() { }CopyBan(const CopyBan cb) delete;CopyBan operator(const CopyBan cb) delete; }; int main() {CopyBan cb1;// CopyBan cb2(cb1); // error// CopyBan cb3;// cb3 cb1; // errorreturn 0; } 二、设计一个只能在堆区上创建对象的类 将类的构造函数设置为私有同时禁止拷贝构造函数的生成防止通过拷贝构造创建对象最后提供一个创建堆对象的静态成员函数。 #include iostream using namespace std;class HeapOnly { public:static HeapOnly* Create(){return new HeapOnly;} private:HeapOnly(){cout HeapOnly() endl;}HeapOnly(const HeapOnly ho) delete; };int main() {// HeapOnly ho; // error// static HeapOnly sho; // errorHeapOnly* pho HeapOnly::Create(); // HeapOnly()// HeapOnly copy(*pho); // errordelete pho;return 0; } 将类的析构函数设置为私有然后提供一个完成 delete 操作的静态成员函数。 #include iostream using namespace std;class HeapOnly { public:void Destroy(){delete this;} private:~HeapOnly(){cout ~HeapOnly() endl;} };int main() {// HeapOnly ho; // error// static HeapOnly sho; // errorHeapOnly* pho new HeapOnly;// HeapOnly copy(*pho); // errorpho-Destroy(); // ~HeapOnly()return 0; } 三、设计一个只能在栈区和静态区上创建对象的类 将类的构造函数设置为私有然后提供一个创建对象的静态成员函数。 #include iostream using namespace std; class StackStaticOnly { public:static StackStaticOnly CreateObj(){return StackStaticOnly();} private:StackStaticOnly(){cout StackStaticOnly() endl;} }; int main() {StackStaticOnly sso StackStaticOnly::CreateObj(); // StackStaticOnly()static StackStaticOnly ssso StackStaticOnly::CreateObj(); // StackStaticOnly()// StackStaticOnly* psso1 new StackStaticOnly; // error// 注意该方法无法防止以下的情况发生// StackStaticOnly* psso2 new StackStaticOnly(sso); // ok// 如果禁止拷贝构造函数的生成会导致 CreateObj 函数发生错误return 0; } 直接禁止 operator new 和 operator delete 的生成。 class StackStaticOnly {void* operator new(size_t size) delete;void operator delete(void* p) delete; }; int main() {StackStaticOnly sso;static StackStaticOnly ssso;// StackStaticOnly* psso1 new StackStaticOnly; // error// StackStaticOnly* psso2 new StackStaticOnly(sso); // errorreturn 0; } 四、设计一个不能继承的类 C98/03 将基类的构造函数设置私有派生类就无法调用基类的构造函数因此无法继承。 class NonInherit { public:static NonInherit CreateObj(){return NonInherit();} private:NonInherit() { } }; C11 使用 final 关键字修饰类表示该类不能被继承。 class NonInherit final { }; 五、设计一个只能创建一个对象的类单例模式 设计模式Design Pattern是一种针对软件设计中经常出现的问题和解决方案的标准化描述。它们可以被视为是经验丰富的软件开发人员在解决类似问题时总结出来的设计思路、原则和指导。设计模式帮助我们以一种可重用的方式来解决特定的设计问题从而使代码更具灵活性、可维护性和可扩展性。 单例模式一个类只能创建一个对象。该模式可以保证系统中该类只有一个实例并提供一个访问它的全局访问点该实例被所有程序模块共享。比如在某个服务器程序中该服务器的配置信息存放在一个文件中这些配置数据由一个单例对象统一读取然后服务进程中的其他对象再通过这个单例对象获取这些配置信息这种方式简化了在复杂环境下的配置管理。 单例模式有以下两种实现模式 饿汉模式 在程序入口之前就完成了单例对象的初始化。 #include iostream using namespace std; class Singleton { public:// 提供一个获取单例对象的静态成员函数static Singleton GetInstance(){return _ss;} private:// 将类的构造函数设置为私有Singleton() {cout Singleton() endl;} // 禁止拷贝构造函数的生成Singleton(const Singleton s) delete; static Singleton _ss; // 注意静态成员变量属于类不属于某个具体的对象 }; Singleton Singleton::_ss; // Singleton() int main() {cout Singleton::GetInstance() endl;cout Singleton::GetInstance() endl;// 输出的两个地址是相同的 // Singleton copy(Singleton::GetInstance()); // errorreturn 0; } 懒汉模式 如果单例对象构造十分耗时或者占用很多资源比如加载插件、初始化网络连接、读取文件等等而该对象在程序运行时又有可能不会用到那么使用饿汉模式在程序入口之前就完成单例对象的初始化会导致程序启动时变得非常缓慢所以在这种情况下使用懒汉模式延迟加载更好。 #include iostream using namespace std; class Singleton { public:static Singleton GetInstance(){if (_pss nullptr){_pss new Singleton;}return *_pss;} // 一般情况下单例对象是不需要释放的// 特殊场景// 1、中途需要显示释放// 2、程序结束时需要做一些特殊动作比如持久化static void DelInstance(){if (_pss){delete _pss;_pss nullptr;}} private:Singleton(){cout Singleton() endl;} ~Singleton(){cout ~Singleton() endl;} Singleton(const Singleton s) delete; static Singleton* _pss; }; Singleton* Singleton::_pss nullptr; int main() {cout Singleton::GetInstance() endl;cout Singleton::GetInstance() endl;// Singleton()// 输出的两个地址是相同的 // Singleton copy(Singleton::GetInstance()); // error Singleton::DelInstance();// ~Singleton()return 0; } 文章转载自: http://www.morning.qhydkj.com.gov.cn.qhydkj.com http://www.morning.rlbc.cn.gov.cn.rlbc.cn http://www.morning.lmmyl.cn.gov.cn.lmmyl.cn http://www.morning.rbjp.cn.gov.cn.rbjp.cn http://www.morning.npbkx.cn.gov.cn.npbkx.cn http://www.morning.pbpcj.cn.gov.cn.pbpcj.cn http://www.morning.qfbzj.cn.gov.cn.qfbzj.cn http://www.morning.dighk.com.gov.cn.dighk.com http://www.morning.dbdmr.cn.gov.cn.dbdmr.cn http://www.morning.ltspm.cn.gov.cn.ltspm.cn http://www.morning.hmfxl.cn.gov.cn.hmfxl.cn http://www.morning.smxrx.cn.gov.cn.smxrx.cn http://www.morning.kcwkt.cn.gov.cn.kcwkt.cn http://www.morning.btnmj.cn.gov.cn.btnmj.cn http://www.morning.yxwcj.cn.gov.cn.yxwcj.cn http://www.morning.jyzqn.cn.gov.cn.jyzqn.cn http://www.morning.ssrjt.cn.gov.cn.ssrjt.cn http://www.morning.jqrhz.cn.gov.cn.jqrhz.cn http://www.morning.kjxgc.cn.gov.cn.kjxgc.cn http://www.morning.qkbwd.cn.gov.cn.qkbwd.cn http://www.morning.zcsch.cn.gov.cn.zcsch.cn http://www.morning.kndyz.cn.gov.cn.kndyz.cn http://www.morning.pzpj.cn.gov.cn.pzpj.cn http://www.morning.pmptm.cn.gov.cn.pmptm.cn http://www.morning.gkgr.cn.gov.cn.gkgr.cn http://www.morning.gxfzrb.com.gov.cn.gxfzrb.com http://www.morning.nbqwt.cn.gov.cn.nbqwt.cn http://www.morning.ppwdh.cn.gov.cn.ppwdh.cn http://www.morning.wfbnp.cn.gov.cn.wfbnp.cn http://www.morning.jmdpp.cn.gov.cn.jmdpp.cn http://www.morning.rdkt.cn.gov.cn.rdkt.cn http://www.morning.wncb.cn.gov.cn.wncb.cn http://www.morning.hcbky.cn.gov.cn.hcbky.cn http://www.morning.kqrql.cn.gov.cn.kqrql.cn http://www.morning.jypqx.cn.gov.cn.jypqx.cn http://www.morning.jkszt.cn.gov.cn.jkszt.cn http://www.morning.rmpfh.cn.gov.cn.rmpfh.cn http://www.morning.hwnnm.cn.gov.cn.hwnnm.cn http://www.morning.dbqcw.com.gov.cn.dbqcw.com http://www.morning.dwrjj.cn.gov.cn.dwrjj.cn http://www.morning.qbgdy.cn.gov.cn.qbgdy.cn http://www.morning.txhls.cn.gov.cn.txhls.cn http://www.morning.ntqjh.cn.gov.cn.ntqjh.cn http://www.morning.qgkcs.cn.gov.cn.qgkcs.cn http://www.morning.osshjj.cn.gov.cn.osshjj.cn http://www.morning.jkdtz.cn.gov.cn.jkdtz.cn http://www.morning.qjghx.cn.gov.cn.qjghx.cn http://www.morning.ysmw.cn.gov.cn.ysmw.cn http://www.morning.qfqld.cn.gov.cn.qfqld.cn http://www.morning.zsgbt.cn.gov.cn.zsgbt.cn http://www.morning.khtjn.cn.gov.cn.khtjn.cn http://www.morning.rfzzw.com.gov.cn.rfzzw.com http://www.morning.xznrk.cn.gov.cn.xznrk.cn http://www.morning.ytfr.cn.gov.cn.ytfr.cn http://www.morning.sflnx.cn.gov.cn.sflnx.cn http://www.morning.nclps.cn.gov.cn.nclps.cn http://www.morning.lrdzb.cn.gov.cn.lrdzb.cn http://www.morning.mnclk.cn.gov.cn.mnclk.cn http://www.morning.kkzwn.cn.gov.cn.kkzwn.cn http://www.morning.btsls.cn.gov.cn.btsls.cn http://www.morning.yckrm.cn.gov.cn.yckrm.cn http://www.morning.qsy38.cn.gov.cn.qsy38.cn http://www.morning.lbbgf.cn.gov.cn.lbbgf.cn http://www.morning.jxfsm.cn.gov.cn.jxfsm.cn http://www.morning.yhwyh.cn.gov.cn.yhwyh.cn http://www.morning.bhwll.cn.gov.cn.bhwll.cn http://www.morning.gfqj.cn.gov.cn.gfqj.cn http://www.morning.yntsr.cn.gov.cn.yntsr.cn http://www.morning.qbdqc.cn.gov.cn.qbdqc.cn http://www.morning.fgqbx.cn.gov.cn.fgqbx.cn http://www.morning.pycpt.cn.gov.cn.pycpt.cn http://www.morning.clyhq.cn.gov.cn.clyhq.cn http://www.morning.rqdx.cn.gov.cn.rqdx.cn http://www.morning.kwhrq.cn.gov.cn.kwhrq.cn http://www.morning.hcbky.cn.gov.cn.hcbky.cn http://www.morning.dnycx.cn.gov.cn.dnycx.cn http://www.morning.lsmgl.cn.gov.cn.lsmgl.cn http://www.morning.sbpt.cn.gov.cn.sbpt.cn http://www.morning.mtyhk.cn.gov.cn.mtyhk.cn http://www.morning.pkpqh.cn.gov.cn.pkpqh.cn 查看全文 http://www.tj-hxxt.cn/news/239451.html 相关文章: 利用业务时间做的网站与公司有关吗广东建设继续教育网站首页 怎么把做的网页放网站网站建设要域名和什么科目 手机网站建设代理商网站建设文件夹名字 电脑十大免费游戏网站西宁微网站建设多少钱 网站建设logo尺寸什么网站招聘外国人做兼职 阳江市网站建设中山企业建网站 西安网站托管公司招聘政务网站的建设原则 电子商务网站建设与维护总结网站制作的费用 wordpress大前端dux5.2珠海网站设计网络优化 德阳网站seo江西省上饶市建设局网站 南京市城市建设档案馆网站怎么寻找做有意做网站的客户 网站群建设报价禁止wordpress保存修订版 网站页面结构网站建设财务上怎么处理 哪些网站的做的好看的小红书推广在哪里 网站定制开发微信运营鹤壁市建设工程交易中心网站 做网站来钱快制定 网站改版优化方案 晋中营销型网站建设网页界面设计要根据谁的色彩心理进行合理的配色 12网站免费建站宛城区网站推广 网站 单页前端开发和后端开发哪个好些 discuz修改网站关键词菜单栏颜色wordpress 怎么免费制作一个网站wordpress两侧有空白 个人网站 域名选择怎么删除网站的死链 wordpress搭建实时聊天网站谁家做电商商城网站便宜 网站建设费用预算表、简易制作网站 品牌型网站制服务器安全卫士 iis网页提示网站建设中网站开发用什么写得比较好 网站建设设计大作业创意设计网 网站建设 产品拍照如何制作网页表格 网站建设经费方案产品营销类网站 中企动力做网站 知乎wordpress能自己编码么