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

洞口网站开发公司推荐网站去掉index.html

洞口网站开发公司推荐,网站去掉index.html,wordpress后台白屏,互联网营销师主要做什么1.单例模式概念 定义:单例模式是一种常见的设计模式,它可以保证系统中一个类只有一个实例,而且该实例易于外界访问(一个类一个对象,共享这个对象)。 条件: 只有1个对象易于外界访问共享这个对…

1.单例模式概念

定义:单例模式是一种常见的设计模式,它可以保证系统中一个类只有一个实例,而且该实例易于外界访问(一个类一个对象,共享这个对象)。
条件

  1. 只有1个对象
  2. 易于外界访问
  3. 共享这个对象

使用情况:如果希望某个类只有一个对象,就可以使用单例模式。
**案例:**windows的任务管理器,可以重复打开,但是只会出现一个

2.代码分步骤编写

class Person{};void test(){Person p1;Person p2;Person p3 = new Person;
}

正常代码框架如上所示,这样这个类就不止一个对象的,所以第一步:

  1. 将默认构造函数私有化:防止创建多个对象
class Person{
private:Person(){};
};void test(){//Person p1;   //默认构造函数私有化,都不能创建了//Person p2;//Person* p3 = new Person;  
}

但是这样一个对象都没有了

  1. 只要拿到一个对象的指针即可,这个指针指向唯一的对象
class Person{
private:Person(){};
public:   //这个指针容易外界访问static Person* person;  //唯一(静态)的对象指针
};
Person* Person::person = new Person;   //静态变量实现(类内不管权限都能调用构造函数)
void test(){Person* c1 = Person::person;  //c1 == c2,它们指向相同Person* c2 = Person::person;
}

但是会出现一个问题:

c1 = NULL; //或者
Person::person = NULL;

那么这个类就访问不到了,因为权限太高,可以使用get、set方法。

  1. 将唯一的指针私有化,提供只读方法(不提供set方法)
class Person{
public:static Person* getInstance(){   //静态成员函数get方法(只能类去访问)return person;}
private:Person(){};
private:   //改为私有static Person* person;  //唯一(静态)的对象指针
};
Person* Person::person = new Person;   //静态变量实现
void test(){Person* p1 = Person::getInstance();Person* p2 = Person::getInstance();
}

但会出现以下问题:

Person* p3 = new Person(*p1); //拷贝构造,p3 != P1产生了新的对象
  1. 将拷贝构造函数私有化
class Person{
public:static Person* getInstance(){   //静态成员函数get方法(只能类去访问)return person;}
private:Person(){};  //默认构造函数私有化Person(const Person&){}  //拷贝构造函数私有化
private:   //改为私有static Person* person;  //唯一(静态)的对象指针
};
Person* Person::person = new Person;   //静态变量实现
void test(){Person* p1 = Person::getInstance();  //p1 == p2Person* p2 = Person::getInstance();
}

总结

单例模式是一种常见的设计模式,我们需要掌握它,熟练了可以直接看最后一步的代码。一个补充,单例对象在main函数调用之前生成了(静态变量在编译阶段就分配了内存)

http://www.yayakq.cn/news/654298/

相关文章:

  • 网站建设丶金手指a排名15网站接入服务商
  • 谁帮58同城做的网站吗昆山市住房城乡建设局网站
  • 网站建设公司怎么宣传中国室内装修设计网
  • 如何做产品网站网页设计联合建设官方网站
  • 南京做网站南京乐识专业北京手机建站模板
  • 海东高端网站建设价格网络服务费分录
  • 威县做网站哪儿好网站制作器手机版
  • 阳泉网站建设公司后端需要学什么
  • 做公司网站有用吗石家庄建站培训
  • 凉山州建设局网站wordpress jquery版本号
  • 公司网站的维护网站建设挣钱的需要什么
  • 昆明网站制作维护网站开发实例模板
  • 在线查看qq空间网站安平县网站建设
  • 长春企业网站建设价格网站模板 哪个好
  • 网站投注员怎么做云电子网站开发
  • 漯河市建设局网站江门地区网站建设公司
  • 网站开发项目推荐如何将百度收录网站
  • 网络推广网站推广淘宝运营商jpress 和wordpress
  • 大方做网站合作平台网
  • 优秀网站的链接黄冈论坛网站有哪些
  • 新网站如何做快照外贸公司网站模板
  • 网站开发需要哪些语言视频弹幕网站建设
  • 在哪建企业网站好石家庄市住房和建设局网站
  • 怎样做机械租赁的网站嵌入式软件开发外包
  • 织梦招商加盟网站源码在线图片编辑器精简版
  • 写作网站招聘外贸网站 栏目
  • 网站不用模板如何更新文章成都公司注册流程及需要的材料
  • 做图模板下载网站wordpress 主题右边栏
  • 织梦怎么关闭网站网站推广平台
  • 七牛云存储 wordpress连接失败企业网站优化服务商