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

贵阳网站上门备案业务企业网站设计请示

贵阳网站上门备案业务,企业网站设计请示,湖北建站管理系统信息,做毕业设计的网站21、static和const的使用 static : 静态变量声明#xff0c;分为局部静态变量#xff0c;全局静态变量#xff0c;类静态成员变量。也可修饰类成员函数。 有以下几类∶ 局部静态变量 : 存储在静态存储区#xff0c;程序运行期间只被初始化一次#xff0c;作用域仍然为局部…21、static和const的使用 static : 静态变量声明分为局部静态变量全局静态变量类静态成员变量。也可修饰类成员函数。 有以下几类∶ 局部静态变量 : 存储在静态存储区程序运行期间只被初始化一次作用域仍然为局部作用域在变量定义的函数或语句块中有效程序结束时由操作系统回收资源。 全局静态变量︰ 存储在静态存储区静态存储区中的资源在程序运行期间会一直存在直到程序结束由系统回收。未初始化的变量默认为0作用域在声明他的文件中有效。 类静态成员变量 : 被类的所有对象共享包括子对象。必须在类外初始化不可以在构造函数内进行初始化。 类静态成员函数 : 所有对象共享该函数不含this指针不可使用类中非静态成员。 const : 常量声明类常成员函数声明。 const和static不可同时修饰类成员函数 const修饰成员函数表示不能修改对象(变量类型)实例的状态 (static表示该函数与类(变量类型)的实例没有关系,所以const 与static不能同时使用) const修饰变量时表示变量不可修改修饰成员函数表示不可修改任意成员变量 22、指针和引用的异同 指针∶是一个变量但是这个变量存储的是另一个变量的地址我们可以通过访问这个地址来修改变量。 引用∶是一个别名还是变量本身。对引用进行的任何操作就是对变量本身进行的操作。 相同点∶二者都可以对变量进行修改。 不同点∶ 1指针可以不必须初始化引用必须初始化。2指针可以有多级但是引用只有一级( int a不合法int** p合法)。3指针在初始化后可以改变引用不能进行改变。4 sizeof指针可以得到指针本身大小sizeof引用得到的是变量本身大小。5 指针传参还是值传递引用传参传的是变量本身。 23、常用数据结构 vector :向量连续存储可随机访问。 deque :双向队列连续存储随机访问。 list :链表内存不连续不支持随机访问。 stack :栈不可随机访问只允许再开头增加/删除元素。 queue :单向队列尾部增加开头删除。 set :集合采用红黑树实现可随机访问。查找、插入、删除时间复杂度为O(logn)。 map :图采用红黑树实现可随机访问。查找、插入、删除时间复杂度为O(logn)。 hash_set:哈希表随机访问。查找、插入、删除时间复杂读为O(1)。24、谈一谈你对面向对象的理解 C面向对象编程就是把事物都抽象成一个对象用属性和方法来描述对象的信息。比如定义一个猫对象猫的眼睛、毛发、嘴巴就可以定义为猫对象的属性猫的叫声和走路就可以定义为猫对象的方法。 用对象的方式编程不仅方便了程序员也使得代码的可复用性、可维护性变好。 C面向对象的三大特性是封装、继承、多态。 25、什么场景下使用继承方式什么场景下使用组合? 继承︰通过扩展已有的类来获得新功能的代码重用方法 组合︰新类由现有类的对象合并成的类的构造方式 使用场景: 如果二者存在一个是的天系并且一个类要对另外一个类公开所有接口那么继承是更好的选择如果二者间存在一个“有的关系那么首选组合如果没有找到及其强烈无法辩驳的使用继承的的理由的时候一律使用组合。组合体现为现实层面继承主要体现在扩展方面。如果并不需要一个类的所有东西那么就不需要使用继承使用组合更好。如果使用继承那么必须所有的都继承如果有的东西你不需要继承但是你继承了那么这就是滥用继承。 26、如何理解多态 定义同一操作作用于不同的对象产生不同的执行结果。 C多态意味着当调用虚成员函数时会根据调用类型对象的实际类型执行不同的操作。 实现通过虚函数实现用virtual声明的成员函数就是虚函数允许子类重写。声明基类的指针或者引用指向不同的子类对象调用相应的虚函数可以根据指针或引用指向的子类的不同从而执行不同的操作。 Overload(重载): 函数名相同参数类型或顺序不同的函数构成重载。 Override (覆盖): 派生类覆盖基类用virtual声明的成员函数。 Overwrite(重写): 派生类的函数重写了与其同名的基类函数。 派生类的函数与基类函数同名但是参数不同此时不论有无 virtual 关键字, 基类的函数将被overwrite注意别与overload混淆。如果派生类的函数与基类的函数同名, 并且参数也相同, 但是基类没有virtual关键字基类函数将被overwrite。(注意别与override混淆 27、虚函数表 多态是由虚函数实现的而虚函数主要是通过虚函数表实现的。如果一个类中包含虚函数那么这个类就会包含一张虚函数表虚函数表存储的每一项是一个虚函数的地址。该类的每个对象都会包含一个虚指针虚指针存在于对象实例地址的最前面保证虚函数表有最高的性能需指针指向虚函数表。注意:对象不包含虚函数表只有需指针类才包含虚函数表派生类会生成一个兼容基类的虚函数表。 28、分别写出饿汉和懒汉线程安全的单例模式 单例模式∶保证一个类仅有一个实例并提供一个访问它的全局访问点该实例被所有程序模块共享。根据单例对象创建时间可分为两种模式∶懒汉模式 和 饿汉模式。 懒汉模式∶延迟加载不到万不得已不会去实例化类也就是说第一次用到类实例的时候才会实例化。 #includeiostream #includemutex using namespace::std; //懒汉模式一:多线程不安全 templatetypename T class singleton { public:static T* getInstance(){if (instance_ nullptr) {instance_ new T();}return instance_;}singleton() delete;singleton(const singleton) delete;singleton operator(const singleton) delete;private:static T* instance_; };template typename T T* singletonT::instance_ nullptr;//懒汉模式二:多线程安全 template typename T class singleton2 { public:static T* getInstance(){if (instance_ nullptr){mutex_.lock();if (instance_ nullptr){instance_ new T();}mutex_.unlock();}return instance_;} private:singleton2() delete;singleton2(const singleton2) delete;singleton2 operator(const singleton2) delete; private:static T* instance_;static mutex mutex_; };template typename T T* singleton2T::instance_ nullptr;template typename T mutex singleton2T ::mutex_; class Printer {friend class singletonPrinter;friend class singleton2Printer; private:Printer() default;Printer(const Printer) delete;Printer operator(const Printer) delete; public:void print(){cout Printer endl;} };int main(int argc,char *argv[]) {singletonPrinter::getInstance()-print();singleton2Printer::getInstance()-print(); }饿汉模式∶在单例类定义的时候即在main函数之前)就进行实例化。因为main函数执行之前全局作用域的类成员变量instance_已经初始化故没有多线程的问题。 #include iostream #include mutex using namespace::std; //饿汉模式 template typename T class singleton { private:singleton() delete;singleton(const singleton) delete;singleton operator(const singleton) delete; public:static T* getInstance(){return instance_;} private:static T* instance_; };template typename T T* singletonT::instance_ new T();class Printer {friend class singletonPrinter; private:Printer() default;Printer(const Printer) delete;Printer operator(const Printer) delete; public:void print(){cout Printer endl;} };int main(int argc, char* argv[]) {singletonPrinter::getInstance()-print(); }29、说出观察者模式类关系和优点 定义了对象之间一对多的依赖令多个观察者对象同时监听某一个主题对象当主题对象发生改变时所有的观察者都会收到通知并更新。 优点︰ 抽象耦合:在观察者和被观察者之间建立了一个抽象的耦合由于耦合是抽象的可以很容易扩展观察者和被观察者。广播通信:观察者模式支持广播通信类似于消息传播如果需要接收消息只需要注册一下即可。 缺点︰ 依赖过多:观察者之间细节依赖过多会增加时间消耗和程序的复杂程度。这里的细节依赖指的是触发机制触发链条如果观察者设置过多每次触发都要花很长时间去处理通知。循环调用:避免循环调用观察者和被观察者之间绝对不允许循环依赖否则会触发二者之间的循环调用导致系统崩溃。 30、说出代理模式类关系和优点 优点︰ 代理模式能将代理对象与真实被调用的自标对象隔离。一定程度上降低了系统的耦合度扩展性好。可以起到保护目标对象的作用。可以对目标对象的功能增强。 缺点︰ 代理模式会造成系统设计中类的数量增加。在客户端和目标对象增加一个代理对象会造成请求处理速度变慢。
http://www.w-s-a.com/news/350185/

相关文章:

  • 自己做的网站怎么挂网上金蝶erp
  • 网站的页面由什么组成淘宝网网站建设的需求分析
  • 软文网站推广法dede5.7内核qq个性门户网站源码
  • 个人备案网站名称校园网站建设特色
  • vr超市门户网站建设班级网站怎么做ppt模板
  • 网站建设一般是用哪个软件刚开始做写手上什么网站
  • 用jsp做的网站源代码下载有哪些做红色旅游景点的网站
  • 网站开发的技术选型黄石市网站建设
  • 做直播网站需要证书吗专做宝宝的用品网站
  • 网站标题用什么符号网站制作交易流程
  • dede模板网站教程jsp网站搭建
  • 上海网站开发外包公司鲜花导购网页制作
  • 宿州外贸网站建设公司个人注册网站一般做什么
  • 小公司做网站用哪种服务器什么是网站代理
  • 青岛李村网站设计公司cms建站平台
  • 做saas网站可行吗许昌抖音推广公司
  • 网站建设找谁做seo基础知识培训
  • 微网站怎么做的好建设网站不会写代码
  • 广州外贸网站制作wordpress信息搜索插件
  • 福建高端网站建设个人公众号怎么制作教程
  • 企业网站有哪些举几个例子wordpress ie兼容插件
  • 高端的深圳网站页面设计福清市建设局官方网站
  • 安装网站到服务器合肥建设干部学校网站
  • 影视网站如何做销售案例网站
  • 建设网站对比方案龙岗网站开发公司
  • 网站开发标准网站建设公司兴田德润可信赖
  • 如何建设一个公众号电影网站自动seo优化
  • 个人网站能备案吗酱香拿铁采取了哪些网络营销方式
  • 网站建设及推广好做吗自己做的网站加入购物车价格
  • 涡阳在北京做网站的名人注册一个免费的网站