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

做旅游网站的公司全文搜索引擎有哪些

做旅游网站的公司,全文搜索引擎有哪些,电商网站建设网,广州万户网站公司目录 1.单例模式 1.懒汉模式 2.饿汉模式 2.设计一个不能被继承的类 3.设计一个不能被继承但是可以在外部环境创建该类对象的类 4.设计一个可以被继承但不能在外部环境创建该类的对象的类 5.限制派生类对象不能拷贝也不能赋值 1.单例模式 设计一个不能在外部环境创建该类…目录 1.单例模式 1.懒汉模式 2.饿汉模式 2.设计一个不能被继承的类 3.设计一个不能被继承但是可以在外部环境创建该类对象的类 4.设计一个可以被继承但不能在外部环境创建该类的对象的类 5.限制派生类对象不能拷贝也不能赋值 1.单例模式 设计一个不能在外部环境创建该类的对象的一个类,只能创建一个就是单例模式,这里其实是写了一个饿汉模式 class Singleton {int value; private:Singleton(int x 0) :value(x) {}Singleton(const Singleton) delete;//删除的函数放共有私有都行Singleton operator(const Singleton) delete;~Singleton() { cout ~~~~ endl; };//因为唯一的对象s是该类域中的所有可以调共有私有以及保护的方法 public:static Singleton getInstance(){static Singleton s(10);//构建static的对象因为它被类的所有成员函数和子类共有return s;} }; void main() {Singleton s2 Singleton::getInstance();//不用引用就要调拷贝构造函数如果只允许创建一个对象则使用引用接收// s2.~Singleton();//不可以调用因为s2的作用域是在main函数里面 } 1.懒汉模式 懒汉模式很“懒”只有用到了才实例化对象并返回调用了对外的接口才会实例化对象。 class singleClass { public:static singleClass* getinstance()//对外接口的对象创建方法{if (instance nullptr){i_mutex.lock();if (instance nullptr)//判断第二次是因为确保不会因为加锁期间多个进程进入{instance new singleClass();}i_mutex.unlock();}return instance;} private:static singleClass *instance;static mutex i_mutex;singleClass() {};//构造函数 }; void main() {singleClass* p singleClass::getinstance();} 2.饿汉模式 不管调不调用对外接口都已经实例化对象了。 class singleClass { public:static singleClass* getinstance(){return instance;} private:static singleClass* instance;singleClass() {} }; singleClass* singleClass::instance new singleClass();//类外初始化void main() {singleClass* p1 singleClass::getinstance();singleClass* p2 singleClass::getinstance(); } 2.设计一个不能被继承的类 思路当基类的构造函数为私有时该类则不能被继承因为无论是何种继承子类只能访问父类的共有和保护成员当子类的构造函数被调用之前要先构造基类的构造函数但这时候无法访问基类的构造函数所以该基类不能被继承。 class non_herit { private:non_herit() {}//只能是保护才有结果 public:non_herit(const non_herit) {}~non_herit() {} }; class Base :public non_herit { public:Base(const Base base) :non_herit(base) {} };void main() {Base base1;//errorBase base2(base1);//error } 3.设计一个不能被继承但是可以在外部环境创建该类对象的类 final:代表用该关键词修饰的类是不能派生其他类的但是向上去继承没有问题 仍然可以在外部环境中创建该类的对象 class non_herit final {int value; public:non_herit(int x 0) :value(x) {}non_herit(const non_herit) default;//default是缺省的意思告诉编译器以默认方式给拷贝构造non_herit operator (const non_herit) default;~non_herit() {} }; //class Base :public non_herit//error //{}; class Base {};void main() {non_herit h1(0);Base base; } 4.设计一个可以被继承但不能在外部环境创建该类的对象的类 思路将基类的构造函数、拷贝构造函数和赋值运算符重载函数都声明为protcted,因为子类无论是何种继承都可以访问父类的共有和保护但是外界不能访问保护成员所以外界不能构建基类的对象单数该基类可以被继承子类可以在外部创建自己的对象构造函数是共有 子类也是可以进行赋值运算符重载的因为子类提供的缺省的赋值运算符之中是可以调基类的赋值运算符重载的因为基类的赋值运算符是保护属性可以在子类中被访问 拷贝构造也可以原因同上 class Object { protected:Object() {}Object(const Object obj){}Object operator(const Object obj) {return *this;} public:~Object() {}}; class Base :public Object { public:Base() {} };int main() {// Object obj;//errorBase ba;//right } 5.限制派生类对象不能拷贝也不能赋值 思路设计一个不能被拷贝和赋值的类也就是把基类的拷贝和赋值删掉如果有子类继承自这个基类那么他也不能拷贝和赋值但是前提是子类不能重写拷贝和赋值如果重写那么基类这个限制就没有了 原本编译器为子类提供的缺省拷贝和赋值是必须要调基类的拷贝和赋值的但是基类已经删了那么基于这样的规则子类就不能拷贝和赋值了。 class noncopyable { public:noncopyable() default;~noncopyable() default; protected:noncopyable(const noncopyable) delete;noncopyable operator(const noncopyable) delete; };class Point :public noncopyable {}; class Circle :public noncopyable {};void main() {Point p1();Point p2();// p1 p2;//error//Point p3(p1);//error }
http://www.pierceye.com/news/416099/

相关文章:

  • 淘宝京东网站建设目的网站标题写什么作用
  • 棋牌网站开发工程师什么是营销网站建设
  • 邢台网站制作地址拿网站的文章做外链
  • 怎么样做钓鱼网站怎么建网站app
  • 高校财务网站建设国外网站ip地址
  • 重要的龙岗网站建设影视公司网站模板
  • 品牌网站 响应式网站wordpress oss静态
  • 免费网站制作中小型企业查询网址
  • 企业网站的seo广州市企业网站建设平台
  • 备案网站名称与实际网站名称不一致企业门户网站平台建设招标采购文件
  • 张掖网站制作wordpress 主题安装教程
  • 企业网站建设合作合同网页做成app
  • 郑州建网站价格医院网页
  • 南京设计网站网站速度的重要性
  • 河南智能网站建设平台简易网站建设
  • 成都鱼羊环保网站制作设计网站 关键字 标签
  • 邓修明调研成都网站建设鞍山建一个网站大概要多少钱
  • 聊城网站开发公司专业开发小程序公司
  • 三门峡网站建设推广用个人电脑做服务器建网站
  • 黄冈论坛交友网站首页seo怎么做
  • 网站注册域名 免费网站建设进度及实施过程
  • 如何购买一个网站的域名小程序开发公司网
  • 产品包装设计素材网站均安建网站
  • 甘肃建设网站找别人做网站需要注意什么
  • php做电子商城网站创业找项目
  • 网站建设建设公司有哪些帝国手机网站cms系统
  • 网站设计包括什么软件房产交易网上预约平台
  • 企业做网站有什么好处坏处四川住房城乡和城乡建设厅网站首页
  • 小学学校网站建设计划广州seo顾问服务
  • 做淘宝素材网站哪个好用网站制作网站建设需要多少钱