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

淄博市网站建设_网站建设公司_改版升级_seo优化

合肥工大建设监理有限公司网站,许昌定制网站建设代理,优化学校网站建设方案,网站首页页面设计模板类 类的基本特性 数据抽象和封装继承多态 1 类的构成——抽象 概念 数据抽象是一种依赖于接口和实现的分离的编程技术。类的接口包括用户所能执行的操作#xff1b;类的实现包括类的数据成员、负责接口实现的函数体以及定义类所需要的的各种私有函数。封装实现了类的接口和实…类 类的基本特性 数据抽象和封装继承多态 1 类的构成——抽象 概念 数据抽象是一种依赖于接口和实现的分离的编程技术。类的接口包括用户所能执行的操作类的实现包括类的数据成员、负责接口实现的函数体以及定义类所需要的的各种私有函数。封装实现了类的接口和实现的分离。 类成员 定义包含数据成员和成员函数定义在类内部的函数是隐式的 inline 函数 this指针 this 指针。用来指明当前绑定的对象。只在依赖对象的函数中添加 this 指针。 常量成员 常量成员函数。const 关键字放在成员函数的参数列表之后。常量函数的 this 指针指向常量对象。不能对常量对象内数据进行修改。 class A{const int getM(){//表示返回值是const类型的}int getN() const{//表示函数是const类型的} }当一个函数被 const 说明后其函数中出现的对外部数据的任何写入或修改都将被系统检查为出错。如果把函数 writeme()说明为 void writeme(int i) const { me i; } //系统将会检查出错误。作用:当函数体较大且复杂时如果我们希望系统帮助避免对对象内容进行修改那么我们就会将这个函数定义为常量型函数这就是使用它的主要目的。 构造函数 控制对象的初始化过程。只要类对象被创建就会执行构造函数。构造函数没有返回类型。构造函数不能被声明成 const默认构造函数没有任何实参。合成的默认构造函数。编译器隐式地创建的默认构造函数。合成默认构造函数初始化过程 如果类内存在初始值使用它来初始化成员否则默认初始化该成员。 hello{hello()default;//要求编译器生成默认的构造函数。 }构造函数的初始值列表 hello{heelo(int aa,int bb):a(aa),b(bb),c(0){};//列表初始化。 }2 访问控制——封装 访问说明符 public对外部函数可见。private被类成员访问但不能被外部访问。private 部分封装了类的实现细节。protect对子类可见 定义类 class 和 struct 都能定义类。class 的默认访问控制是 privatestruct 的默认访问控制是 public 友元 类的接口可以不是类的成员。下图中print、add、read 是类的接口但是不是类的成员。被称作非成员接口函数。 非成员接口函数无法访问类的私有变量。可以声明友元访问私有变量。友元的声明智能出现在类定义的内部。友元是突破访问控制符的方法。 友元也为多种形式的接口提供了方法。比如可以重载上述的 read 函数让它成为多个不同的类友元。可以实现一个接口在多种不同情况下的使用。 3 类的其他特性 类内的函数可以被声明为内联函数成员函数可以被重载。日了狗了真 TM 特例也太多了吧有必要吗可变成员函数mutable 声明的变量是可变数据成员。即是是 const 对象的成员它也是可变数据成员依然能够改变。 类类型 类通过类名来标识。如果两个类的内容完全一致但是类名不一样也无法相互赋值。两种创建对象的方法 Hello h; class Hello h;//包含关键字class创建对象。两者等价。类可以进行前向声明而不进行定义。他是一个不完全的类型。 class Hello;在创建类的对象之前,类必须被定义。所以如果要引用其他头文件中的类类必须在该头文件就被定义否则没办法创建对象进行连接。 其他类、类成员都可以声明为类的友元。 4 类的作用域 在类的作用域外通过对象、引用、指针使用成员访问运算符访问。在类外定义函数需要指明类作用域使用作用域运算符::实现类内的函数。函数体内可以直接使用类作用域内的内容。函数体外的返回值通过作用域运算符使用类作用域内的内容。 名字查找与类的作用域 名字查找的步骤 作用域内查找使用之前的声明。查找外层作用域的声明如果没找到报错。 类内名字查找比较特殊。 首先编译成员声明。然后编译函数体。所以即使类的成员声明在类的末尾对之前的函数来说也是可见的。 成员定义中普通块作用域的名字查找 首先在成员函数内查找声明。类内查找。所有的类成员都被考虑。在成员函数定义之前的作用域内查找。 5 构造函数与初始化 当成员是常量或引用的时候初始化是必不可少的。成员初始化的书序与他们在类定义中的出现顺序一致。而非初始化列表中传入参数的顺序。 委托构造函数 委托构造函数使用类的其他构造函数执行自己的初始化过程。 初始化执行的顺序 初始化列表委托构造函数初始化函数体值初始化。在成员变量定义的时候给出的值默认初始化以上情况都没有的时候 默认构造函数的作用 默认初始化在一下情况发生 块作用域内不适用任何初始值定义一个非静态变量一个类本身含有类类型的成员其而是用合成的默认构造函数时。包含关系的外部合成默认构造函数会自动调用内部的默认构造函数。如果有自定义的默认构造函数需要自己手动初始化内部默认构造函数。类类型的成员没有在构造函数的初值列表中显式的初始化。 值初始化在一下情况发生 数组初始化过程中提供的初始值很少。不适用初始值顶一个局部静态变量。使用T()表达式显式的请求值初始化。 抑制构造函数定义的隐式转换。 使用explicit关键字。将函数声明为explicit。 class Hello{ publicHello()default;explic Hello(const string s){} }explicit构造函数只能用于直接初始化。可以使用显式的强制类型转换。 聚合类 用户可以直接访问其成员。具有特殊的初始化语法形式。 所有成员都是public没有定义任何构造函数没有类内初始值没有基类。 使用花括号括起来的成员初始值列表。并用它初始化聚合类的数据成员。 struct Person {std::string name;int height; };int main() {Person person{xiaohong,10};std::cout person.name person.height std::endl;system(pause);return 0; }字面值常量类 数据成员都是字面值类型的聚合类。是字面值常量类。 数据成员必须都是字面值类型。类必须至少有一个constexpr构造函数。内置类型成员初始值必须是常量表达式。类必须使用关系够函数的默认定义。 6 类的静态成员 与类本身直接相关而不是与类的各个对象保持关联。 声明静态成员 使用静态成员 使用作用域运算符访问静态成员 double r Account::rate();使用对象、引用、指针访问静态成员 Account a,*ba; a.rate(); b-rate;成员函数可以直接访问静态成员。 定义静态成员 不能再类的内部初始化惊天成员。必须在类的外部定义和初始化静态成员。静态数据成员智能被定义依稀。
http://www.ihoyoo.com/news/6394.html

相关文章:

  • 网站的备案怎么处理公众号网页怎么制作
  • 怎样建设国外网站wordpress展示产品
  • 北京建筑信息网页面优化主要从哪些方面进行
  • 大连做网站哪家服务好沈阳网站建设 房小二
  • 给单位做网站需要备案吗wordpress背景图
  • googlechrome廊坊关键词优化
  • 内蒙古网站建站Wordpress用户名是哪个
  • 网站的主题与风格说明第一次做网站选多大空间
  • 网站开发中数据库的设计原则网页制作素材服装类
  • 做设计的网站商家入驻创建一个网站需要什么条件
  • 网站开发属于软件开发行业吗谷歌可以绑定wordpress
  • 常州做网站的企业搭建一个自己的网站
  • 网站备案 icp备案长沙房地产交易中心
  • 购物网站页面设计图片做网站需要具备哪些条件
  • 需要找做网站的福州制作公司网站
  • 网站建设开发哪家好wordpress首页调用文章缩略图
  • 陕西西安网站建设公司排名中企品牌网
  • 望城经开区建设开发公司门户网站网站配色案例
  • 郑州做网站首选九零后网络网页设计与网站建设考试题
  • 银川网站建设公司哪家不错m99ww094cn 苍井空做的网站
  • 网站开发与服务合同范本宜黄县建设局网站
  • 如何网站做外贸生意河南网站建设路
  • 苏州网站建设系统价格合理苏州网站建设软件
  • 盘锦建设工程信息网站装修公司哪家好十大排名北京
  • 网站制作公司 郑州合肥行业网站建设
  • 网站开发免费课程作文生成器
  • 网站建设竞争大吗物联网平台层
  • 织梦网站采集侠怎么做上海博览会2022
  • 响应式网站模板分享用c 做网站
  • 做网商哪个国外网站好台州网站建设公司哪家好