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

吕梁市网站建设_网站建设公司_加载速度优化_seo优化

织梦仿站,阿里云这么建设网站,免费广告在线制作,建站模板网站文章目录 再谈构造函数初始化列表隐式类型转换explicit关键字 static成员友元类内部类匿名对象拷贝函数时的一些优化 再谈构造函数 在我们之前的构造函数中#xff0c;编译器会通过构造函数#xff0c;对对象中各个成员给出一个适合的初始值#xff0c;但这并不能称之为初始… 文章目录 再谈构造函数初始化列表隐式类型转换explicit关键字 static成员友元类内部类匿名对象拷贝函数时的一些优化 再谈构造函数 在我们之前的构造函数中编译器会通过构造函数对对象中各个成员给出一个适合的初始值但这并不能称之为初始化只是进行赋值而已因为初始化只能初始化一次而构造函数内部可以进行无数次赋值 初始化列表 初始化列表是用于构造函数中对类成员变量进行初始化的语法特性。 通过初始化列表可以在对象被创建时就将成员变量初始化为指定的值而不是在构造函数体内逐个赋值。 语法初始化列表用冒号:)跟随在构造函数的参数列表之后并且在构造函数体之前。 在初始化列表中成员变量按照声明顺序列出并使用逗号进行隔开。 每个成员变量的初始化由成员变量名后跟一个圆括号和初始值或者调用其他构造函数来完成。 试验 class A { private:int _a; public:A(int a 1):_a(a){}/*A(int* a):_a(a){}*/A(const A a){_a a._a;cout A(const A a) endl;}~A(){cout ~A() endl;} };class Date { private:int _year;int _month;int _day;int _def;const int _n; public:Date(int year, int month 1, int day 1):_year(year),_month(month),_day(day),_def(year),_n(10){} }; int main() {Date d12023;Date d2 (2023, 11, 4);Date d3 { 2023, 11, 4 };return 0; } 对const成员和引用成员进行测试 Date的成员变量 Date类的构造函数 定义一个对象并初始化为20231023 对于引用和const变量来说都必须进行初始化 规范写法 成员变量中有自定义类型时 成员的顺序 初始化列表没写全的话 如果自定义类型不是默认构造函数的话 对于自定义类型成员变量的类对象可以 隐式类型转换 多个参数时 explicit关键字 这是一个修饰符用于修饰类的构造函数。当一个构造函数被explicit修饰时他将被标记为显示构造函数意味着该构造函数无法进行隐式类型转换。 static成员 静态类成员静态类成员是被类所有对象所共享的成员变量。它们被声明为静态成员后在内存中只有一个副本存在并且在任何实例化对象之前就已经存在了。静态类成员必须在类的外部进行初始化定义。 静态成员函数静态成员函数不在特定的对象上操作它们没有this指针可以直接通过类名来访问。 class A { public:A(){count;} A(const A a1){count;}~A(){cout ~A() endl;}//调取count成员变量的函数//静态成员函数特点没有this指针static int GetCount(){return count;} private://声明static int count; }; //定义 int A::count 0;友元类 友元类是描述两个类之间的特殊关系 当一个类是另一个类的友元类时则该类可以访问另一个类的私有成员。 通过在类的声明中使用friend关键字来声明友元类。 class Time { public:friend class Date;//在Time中声明Date类在Date中可以直接访问Time的成员变量Time(int hour1,int mintue0,int sec0):_hour(hour),_mintue(mintue),_sec(sec){} private:int _hour;int _mintue;int _sec; };class Date { private:int _year;int _month;int _day;Time _t; public:Date(int year, int month, int day):_year(year),_month(month),_day(day){}void SetTime(int hour, int minute, int sec){//可以直接访问私有的成员变量_t._hour hour;_t._mintue minute;_t._sec sec;} }; 内部类 内部类是一个类的内部定义的另一个类。内部类可以访问外部类的所有成员包括私有成员而外部类不能直接访问内部类的成员。 class A { private:static int k;int h; public:class B//B天生为A的友元{public:void f(const A a){cout k endl;//k是静态成员可以直接使用cout a.h endl;//h是非静态成员需要有明确的类对象}};~A(){cout ~A() endl;} };int A::k 1;int main() {A::B b;//B在A类中需要加上作用域符b.f(A());//A()是匿名对象return 0; }匿名对象 匿名对象是在使用过程中直接创建的没有具体名称的对象。 它们通常用于临时执行某个方法或操作或者作为方法的返回值。 语法ClassName 实例 class Foo() { public:void display(){coutthis is a Fooendl;} } int main() {Foo().display(); }拷贝函数时的一些优化 class A { private:int _a; public:A(int a1):_a(a){cout A(int a) endl;}A(const A a){cout A(const A a) endl;}A operator(const A a){cout A operator(const A a) endl;if (this ! a){_a a._a;}return *this;}~A(){cout ~A() endl;} };void func1(A aa) {cout func() endl; }A func2() {A aa;return aa; }A func3(A aa) {return aa; }
http://www.ihoyoo.com/news/85814.html

相关文章:

  • 电子商务网站的开发流程重庆seo整站优化效果
  • 网站收缩广告wordpress页面 文章页 分类
  • 企业查询官方网站外包公司的招聘专员好干吗
  • 微信微网站开发教程wordpress游戏
  • 做班级网站的目的asp网站开发工具
  • 东莞网站优化排名网站汨罗哪里有网站开发的公司电话
  • 江阴市建设局网站建筑工程知识零基础
  • 免费网页代理ip地址网站漳州手机网站建设
  • 淘宝网站建设教程视频手机端网页界面设计
  • 亚网站建设网络服务平台建设概况
  • 建设银行官网网站员工招聘网站建设全程揭秘 课件下载
  • 东莞网站建设制作哪家好免费产品发布推广
  • 自主式响应网站通信网站建设
  • 科普网站建设经验长春网站建设网诚传媒
  • 专门做吃播的网站邯郸平台公司
  • 九洲建设集团网站怎样申请做自己的网站
  • 搜集关键词的网站营销管理培训课程
  • 福田网站建设课程考试策划推广公司
  • 南昌建设医院网站wordpress超强主题
  • 网站建设的基本思路招生网站建设策划方案
  • 企业网站模板建站流程建行企业银行官网
  • .net网站开发项目建设部网站业绩补录
  • 网站制作appdocker wordpress 备份
  • 简述什么是网站wordpress怎么加属性
  • 国内品牌备案建站做房产抵押网站需要什么手续
  • 网站建设怎么更改图片广州各区正在进一步优化以下措施
  • 如何注册网站域名泰兴网站推广
  • vs网站开发需要的组件3免费建站网站
  • 河南省百城建设提质工程网站搭建网页代码流程
  • 中山做网站的电台 主题 wordpress