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

国外网页设计网站体球网足球世界杯

国外网页设计网站,体球网足球世界杯,建筑模板怎么装,建筑培训内容C中只能有一个实例的单例类 前面讨论的 President 类很不错#xff0c;但存在一个缺陷#xff1a;无法禁止通过实例化多个对象来创建多名总统#xff1a; President One, Two, Three; 由于复制构造函数是私有的#xff0c;其中每个对象都是不可复制的#xff0c;但您的目…C中只能有一个实例的单例类 前面讨论的 President 类很不错但存在一个缺陷无法禁止通过实例化多个对象来创建多名总统 President One, Two, Three; 由于复制构造函数是私有的其中每个对象都是不可复制的但您的目标是确保 President 类有且只有一个化身即有了一个 President 对象后就禁止创建其他的 President 对象。要实现这种功能强大的模式可使用单例的概念它使用私有构造函数、私有赋值运算符和静态实例成员。 提示 将关键字 static 用于类的数据成员时该数据成员将在所有实例之间共享。 将 static 用于函数中声明的局部变量时该变量的值将在两次调用之间保持不变。 将 static 用于成员函数方法时该方法将在所有成员之间共享。要创建单例类关键字 static 必不可少如以下示例程序所示 #include iostream #include string using namespace std;class President {private:President() {}; // private default constructorPresident(const President); // private copy constructorconst President operator(const President); // assignment operatorstring name;public:static President GetInstance(){// static objects are constructed only oncestatic President onlyInstance; return onlyInstance;}string GetName(){ return name; }void SetName(string InputName){ name InputName; } };int main() {President onlyPresident President::GetInstance();onlyPresident.SetName(Abraham Lincoln);// uncomment lines to see how compile failures prohibit duplicates// President second; // cannot access constructor// President* third new President(); // cannot access constructor// President fourth onlyPresident; // cannot access copy constructor// onlyPresident President::GetInstance(); // cannot access operatorcout The name of the President is: ;cout President::GetInstance().GetName() endl;return 0; }输出 The name of the President is: Abraham Lincoln分析 第 2843 行的 main( )包含大量注释演示了各种创建 President 实例和拷贝的方式它们都无法 通过编译。下面逐一进行分析。 34: // President second; // cannot access constructor 35: // President* third new President(); // cannot access constructor 第 34 和 35 行分别试图使用默认构造函数在堆和自由存储区中创建对象 但默认构造函数不可用因为它是私有的如第 7 行所示。 36: // President fourth onlyPresident; // cannot access copy constructor 第 36 行试图使用复制构造函数创建现有对象的拷贝在创建对象的同时赋值将调用复制构造函数但在 main( )中不能使用复制构造函数因为第 8 行将其声明成了私有的。 37: // OnlyPresident President::GetInstance(); // cannot access operator 第 37 行试图通过赋值创建对象的拷贝但行不通因为第 9 行将赋值运算符声明成了私有的。因此 在main( )中 不能创建President类的实例 唯一的方法是使用静态函数GetInstance( )来获取President的实例如第 30 行所示。 GetInstance( )是静态成员类似于全局函数无需通过对象来调用它。GetInstance( )是在第 1419 行实现的 它使用静态变量 onlyInstance 确保有且只有一个 President 实例。 为更好地理解这一点可以认为第 17 行只执行一次静态初始化因此 GetInstance( )返回唯一一个President 实例而不管您如何频繁地调用 President:: GetInstance( )。 该文章会更新欢迎大家批评指正。 推荐一个零声学院的C服务器开发课程个人觉得老师讲得不错 分享给大家LinuxNginxZeroMQMySQLRedis fastdfsMongoDBZK流媒体CDNP2PK8SDocker TCP/IP协程DPDK等技术内容 点击立即学习C/C后台高级服务器课程
http://www.sczhlp.com/news/190515/

相关文章:

  • 电子商务网站建设有哪些流程图完整的外贸出口流程
  • 清河网站建设设计兰州最坑人的装修公司
  • 网站建设文本建设云网站
  • 企业建设网站华为官方手表网站
  • 推广网站加盟盐城优化办
  • 网站推广seo设置用家用路由器ip做网站
  • 怎么做虚拟网站wordpress修改幻灯片
  • 宁波网站开发建设php网站开发干嘛的
  • 做网站都需要做什么个人简历模板可编辑
  • 晋江网站建设价格多少成都最专业做网站的
  • 想搭网站做软件首先要学设么国际最新局势最新消息
  • 深圳网站建设的基网站建设微金手指下拉12
  • 网站做的简单是什么意思WordPress审核邮箱提醒
  • 电子商务网站建设预算表赣州有店科技有限公司
  • 网站建设直播网站制作公司知道万维科技
  • 2017年免费建网站石家庄优化seo
  • 公司网站做的一样算不算侵权6室内设计师培训班多少钱
  • 宁夏建设银行官方网站河南省建造师网官网
  • 怎么建设微网站明月浩空WordPress
  • 小程序开发查询烟台网站的优化
  • 做网站公司分为国内还是国外建设部网站首页督办案件
  • 做外贸网站需要营业执照wordpress3.7.1下载
  • 怎样在手机上做自己的网站招聘网站套餐
  • 网站推广全过程工厂货源网
  • 淘宝网站建设多少钱wordpress自动抓取
  • 提供网站建设排行榜网站没有备案可以做百度推广吗
  • 网站推广的主要方式中山网站建设技术
  • 阿里云建网站遵义在线读者板留言
  • 个性化网站建设开发腾讯云域名续费
  • 上海门户网站开发网络营销常用工具有哪些?