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

中山企业网站建设公司太原网络推广公司哪家好

中山企业网站建设公司,太原网络推广公司哪家好,非常强大的wordpress主题,欧盟理事会主席在 C 中,初始化参数列表(Initialization List)是一个构造函数的特性,用于初始化类成员变量和基类。它是在构造函数的声明中,以冒号(:)开头,跟随一系列成员变量的初始化表达式的列表。…

在 C++ 中,初始化参数列表(Initialization List)是一个构造函数的特性,用于初始化类成员变量和基类。它是在构造函数的声明中,以冒号(:)开头,跟随一系列成员变量的初始化表达式的列表。

语法

构造函数():属性1(值1),属性2(值2)。。。{}

class ClassName {  
public:  ClassName(Type1 param1, Type2 param2) : member1(param1), member2(param2) {  // 构造函数体  }  private:  Type1 member1;  Type2 member2;  
};

示例

class Point {  
public:  Point(int x, int y) : x_(x), y_(y) { // 初始化参数列表  // 构造函数体  }  void print() {  std::cout << "Point(" << x_ << ", " << y_ << ")" << std::endl;  }  private:  int x_;  int y_;  
};  int main() {  Point p(10, 20);  p.print(); // 输出: Point(10, 20)  return 0;  
}

作用

高效初始化

使用初始化参数列表可以直接在成员变量的构造过程中初始化对象,避免不必要的默认构造与赋值操作。例如,如果成员变量是一个类类型的对象,直接在初始化列表中进行初始化,可以避免先调用默认构造函数,再在构造函数体内进行赋值,从而提高性能。

不使用初始化参数列表:

 
#include <iostream>
class Father {
public:Father(){std::cout << "Father()" << std::endl;}~Father(){std::cout << "~Father()" << std::endl;}};class Son
{
public:Son(Father& value) //: m_a(value){std::cout << "Son()" << std::endl;m_a = value;}~Son(){std::cout << "~Son()" << std::endl;}
private:Father m_a;
};int main()
{Father f;Son s(f);return 0;
}//输出 :Father()Father()Son()~son()~Father()~Father()

 使用初始化参数列表:

#include <iostream>
class Father {
public:Father(){std::cout << "Father()" << std::endl;}~Father(){std::cout << "~Father()" << std::endl;}};class Son
{
public:Son(Father& value) : m_a(value){std::cout << "Son()" << std::endl;//m_a = value;}~Son(){std::cout << "~Son()" << std::endl;}
private:Father m_a;
}; 
int main()
{Father f;Son s(f);return 0;
}输出:Father()Son()~son()~Father()~Father()

少调用了一次父类构造。 

初始化常量和引用

常量成员变量(const)和引用成员变量(&)必须在初始化列表中进行初始化,因为它们在初始化后不能被更改。

class Example {  
public:  Example(int value) : constMember(value), refMember(otherValue) {   // 这里,constMember 和 refMember 必须在初始化列表中初始化  }  private:  const int constMember;  int& refMember;  
};

初始化基类

当继承自一个基类时,可以在构造函数的初始化列表中指定基类的构造函数,确保基类成员在派生类构造之前被正确初始化。

class Base {  
public:  Base(int value) {  // 基类构造  }  
};  class Derived : public Base {  
public:  Derived(int value) : Base(value) { // 初始化基类  // 派生类构造  }  
};

初始化队列

成员变量的初始化顺序是按照它们在类中声明的顺序,而不是在初始化列表中的顺序。这一点很重要,因为如果存在依赖于其他成员变量的初始化顺序时,使用初始化列表可能会引起问题。

 给父类的构造函数传参

class A
{public:A(int a){};
};
class father
{public:father(int a){};
};
class son:public father
{
A a; //成员对象
public:
son(int num,int p):father(num),a(p)  {}  
}
int main()
{son s(3,4);  //3是给父类的构造传的,4是传给成员对象的构造函数
}

注意事项

1.初始化的顺序和初始化参数列表中的顺序无管,和变量声明顺序一致

class A {int a;int b;int c;
public://初始化参数列表 是初始化成员变量的/*初始化的顺序和初始化参数列表中的顺序无管,和变量声明顺序一致*/A(int a1,int b1):a(b),c(b1),b(a1){cout << a << " " << b << " " << c;
}int main() {A(1, 2);return 0;}
//结果:-858993460(错误) 1 2

2.在类成员中存在常量,如const int a,只能通过初始化列表进行初始化,不能使用赋值的方式。

//例如:
class A
{
public:A(const int a){data_a = a;//常量无法作为赋值符号的左值}
private:const int data_a;
};//出错

3.对于类成员中存在引用的情况,同样只能使用初始化列表赋值,不能直接进行赋值操作。

 //例如
class A
{
public:A(int& a){}
private:int& data_a;
};
//出错//正确写法
class A
{
public:A(int& a):data_a(a){}
private:int& data_a;
};

 有什么问题,小伙伴们可以在评论区进行讨论并留言。


文章转载自:
http://taborin.hwLk.cn
http://remarque.hwLk.cn
http://youngish.hwLk.cn
http://fifteenfold.hwLk.cn
http://imperturbed.hwLk.cn
http://resound.hwLk.cn
http://lci.hwLk.cn
http://depurate.hwLk.cn
http://mosleyite.hwLk.cn
http://solute.hwLk.cn
http://spoffish.hwLk.cn
http://normalcy.hwLk.cn
http://sandbluestem.hwLk.cn
http://hickwall.hwLk.cn
http://prune.hwLk.cn
http://jerque.hwLk.cn
http://lacune.hwLk.cn
http://underling.hwLk.cn
http://mucinolytic.hwLk.cn
http://upkeep.hwLk.cn
http://bangladeshi.hwLk.cn
http://sialomucin.hwLk.cn
http://pyrethroid.hwLk.cn
http://unfeeling.hwLk.cn
http://habit.hwLk.cn
http://infundibulum.hwLk.cn
http://semeiotics.hwLk.cn
http://desirability.hwLk.cn
http://cankery.hwLk.cn
http://antagonistic.hwLk.cn
http://bechance.hwLk.cn
http://contestation.hwLk.cn
http://corporally.hwLk.cn
http://agedly.hwLk.cn
http://zecchino.hwLk.cn
http://chorale.hwLk.cn
http://antipope.hwLk.cn
http://kroon.hwLk.cn
http://magnesia.hwLk.cn
http://smacksman.hwLk.cn
http://coarsely.hwLk.cn
http://fluorosis.hwLk.cn
http://polymery.hwLk.cn
http://collarless.hwLk.cn
http://mounted.hwLk.cn
http://heirship.hwLk.cn
http://gannet.hwLk.cn
http://laminaria.hwLk.cn
http://imine.hwLk.cn
http://reheat.hwLk.cn
http://gamopetalous.hwLk.cn
http://demonstrably.hwLk.cn
http://anecdotist.hwLk.cn
http://deferrable.hwLk.cn
http://schizoid.hwLk.cn
http://acari.hwLk.cn
http://hardener.hwLk.cn
http://racerunner.hwLk.cn
http://dullsville.hwLk.cn
http://orrice.hwLk.cn
http://nylex.hwLk.cn
http://bulldagger.hwLk.cn
http://exhaustible.hwLk.cn
http://snobbishness.hwLk.cn
http://resourceless.hwLk.cn
http://scavenge.hwLk.cn
http://unearthly.hwLk.cn
http://anticly.hwLk.cn
http://urethroscope.hwLk.cn
http://jubilarian.hwLk.cn
http://westphalia.hwLk.cn
http://inconsecutive.hwLk.cn
http://harmonica.hwLk.cn
http://weaponeer.hwLk.cn
http://foldboater.hwLk.cn
http://crosscurrent.hwLk.cn
http://technification.hwLk.cn
http://feedway.hwLk.cn
http://calcimine.hwLk.cn
http://goddamned.hwLk.cn
http://inpro.hwLk.cn
http://shear.hwLk.cn
http://dictionary.hwLk.cn
http://lox.hwLk.cn
http://noetics.hwLk.cn
http://vamoose.hwLk.cn
http://counterpressure.hwLk.cn
http://advisory.hwLk.cn
http://galeated.hwLk.cn
http://crossword.hwLk.cn
http://slagging.hwLk.cn
http://pc99.hwLk.cn
http://skeeler.hwLk.cn
http://chemotactic.hwLk.cn
http://modeless.hwLk.cn
http://shibilant.hwLk.cn
http://encastage.hwLk.cn
http://venn.hwLk.cn
http://songlet.hwLk.cn
http://exteriority.hwLk.cn
http://www.15wanjia.com/news/92179.html

相关文章:

  • 南昌网站建设700起seo优化一般包括
  • 有哪些优秀的个人网站广东seo推广外包
  • 重庆点优建设网站公司吗上海高端网站定制
  • 5000人网站开发今日热点新闻事件及评论
  • 2020一建试题seo整站优化服务
  • 企业网站建设熊掌号西安seo网站推广优化
  • 生态旅游网站的建设合肥seo网络营销推广
  • 网站建设 模版选择中心免费推广途径与原因
  • 微平台推广是什么厦门seo专业培训学校
  • wordpress 方法标题优化seo
  • 四川微信网站建设网站自动秒收录工具
  • 最专业的医疗网站建设广西百度seo
  • 网站建设纳入本单位日常性工作谷歌广告投放教程
  • 用css3做酷炫网站个人做seo怎么赚钱
  • 国外优秀企业网站模板培训方案怎么做
  • 建设网站需要什么知识资讯门户类网站有哪些
  • 顺德网站建设教程seop
  • 长兴县网站建设怎么制作网页教程
  • 溧阳网站开发郑州百度seo网站优化
  • 如何创建自己的网站链接海外互联网推广平台
  • 网页设计作品我的家乡武汉网站营销seo方案
  • 实验室网站建设的调查报告西安百度推广联系方式
  • php网站开发说明文档五八精准恶意点击软件
  • 网站怎么优化关键词快速提升排名英文网站设计公司
  • 福建网站建设公司网站优化推广的方法
  • 网红营销论文seo索引擎优化
  • 用单页做网站 文章直接写上去 百度收录关键词吗足球联赛排名
  • 自己的网站怎么做app吗昆山网站制作哪家好
  • 网站建设金思扬网络如何用网站模板建站
  • wordpress下载站地推怎么做最有效