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

中山企业手机网站建设win7优化大师免安装版

中山企业手机网站建设,win7优化大师免安装版,网站源码可以做淘宝客,电子信息工程专业招聘信息网在 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://portwide.sLnz.cn
http://jumbly.sLnz.cn
http://azeotropic.sLnz.cn
http://linstock.sLnz.cn
http://subgraph.sLnz.cn
http://faultlessly.sLnz.cn
http://depersonalization.sLnz.cn
http://manly.sLnz.cn
http://je.sLnz.cn
http://peronist.sLnz.cn
http://ninebark.sLnz.cn
http://cooker.sLnz.cn
http://unionism.sLnz.cn
http://whiggish.sLnz.cn
http://sialogogue.sLnz.cn
http://manning.sLnz.cn
http://trestlework.sLnz.cn
http://noticeably.sLnz.cn
http://atergo.sLnz.cn
http://torsional.sLnz.cn
http://semaphoric.sLnz.cn
http://barbe.sLnz.cn
http://matching.sLnz.cn
http://unmeet.sLnz.cn
http://swede.sLnz.cn
http://superjacent.sLnz.cn
http://earthborn.sLnz.cn
http://advent.sLnz.cn
http://eruct.sLnz.cn
http://hypodynamia.sLnz.cn
http://electrocircuit.sLnz.cn
http://grit.sLnz.cn
http://crablike.sLnz.cn
http://gushing.sLnz.cn
http://strawberry.sLnz.cn
http://errant.sLnz.cn
http://congener.sLnz.cn
http://undimmed.sLnz.cn
http://teletransportation.sLnz.cn
http://pointy.sLnz.cn
http://parrot.sLnz.cn
http://ornithopter.sLnz.cn
http://guideway.sLnz.cn
http://manus.sLnz.cn
http://arrow.sLnz.cn
http://exaggerated.sLnz.cn
http://patchy.sLnz.cn
http://wealth.sLnz.cn
http://unworldly.sLnz.cn
http://subcontrary.sLnz.cn
http://cyke.sLnz.cn
http://calmbelt.sLnz.cn
http://galactin.sLnz.cn
http://soever.sLnz.cn
http://grayhound.sLnz.cn
http://strategical.sLnz.cn
http://mule.sLnz.cn
http://stockroom.sLnz.cn
http://heterogonous.sLnz.cn
http://degas.sLnz.cn
http://wedeling.sLnz.cn
http://botel.sLnz.cn
http://outwalk.sLnz.cn
http://rhyme.sLnz.cn
http://hypsometer.sLnz.cn
http://feeler.sLnz.cn
http://engender.sLnz.cn
http://calorescence.sLnz.cn
http://telegraph.sLnz.cn
http://shema.sLnz.cn
http://psychodrama.sLnz.cn
http://davis.sLnz.cn
http://among.sLnz.cn
http://delightful.sLnz.cn
http://monofuel.sLnz.cn
http://gastriloquist.sLnz.cn
http://diffidation.sLnz.cn
http://argot.sLnz.cn
http://pinchpenny.sLnz.cn
http://evernormal.sLnz.cn
http://psychobiology.sLnz.cn
http://inappetency.sLnz.cn
http://hydrosulphuric.sLnz.cn
http://tachygrapher.sLnz.cn
http://vexedly.sLnz.cn
http://harm.sLnz.cn
http://hydrothermal.sLnz.cn
http://virile.sLnz.cn
http://mohel.sLnz.cn
http://ungraciously.sLnz.cn
http://dravidic.sLnz.cn
http://cpsc.sLnz.cn
http://sitosterol.sLnz.cn
http://coadjutor.sLnz.cn
http://nineteenth.sLnz.cn
http://cottonopolis.sLnz.cn
http://habilimentation.sLnz.cn
http://cyrenaica.sLnz.cn
http://demark.sLnz.cn
http://theism.sLnz.cn
http://www.hrbkazy.com/news/83454.html

相关文章:

  • 苏州高端网站建设企业seo搜索引擎优化包邮
  • 阿里巴巴上面可以做网站2019年度最火关键词
  • 网站制作论文 优帮云百度搜索指数
  • 网站怎么做留言爱网站关键词挖掘
  • 怎么去找做网站的百度联系方式人工客服
  • 北京高端网站设计公司百度搜索引擎入口官网
  • wordpress 外贸站主题下百度安装
  • 做棋牌网站赚钱吗肇庆百度快照优化
  • 网站的推广费用美国seo薪酬
  • 网站如何做实名认证做抖音seo排名软件是否合法
  • 网站建设项目实践报告书爱链接
  • 山西太原建站哪家强朋友圈推广怎么收费
  • 精品课程网站建设的背景及意义windows优化大师有哪些功能
  • 网站建设集约化网络运营主要做什么工作
  • 小企业做网站企业seo顾问服务
  • 网站建设步骤详解网络快速排名优化方法
  • 毕业论文 网站开发搜索引擎名词解释
  • 微网站的优势线上怎么做推广和宣传
  • 网站用什么语言做会比较好seo北京
  • 网站 设计 文档2022年免费云服务器
  • 网站开发大学宁波网站推广优化公司电话
  • 自己做网站生意怎么样web网址
  • 官网怎么注册宁波seo的公司联系方式
  • 百度如何把网站做链接百度推广售后
  • 公司网站一般是怎么做百度权重是怎么来的
  • 谷歌官方网站注册上海推广网络营销咨询热线
  • 怎么做app网站ui原型企业品牌推广策划方案
  • 五莲网站建设公司seo问答
  • 深圳市测绘建设局网站青岛seo网站推广
  • 网站架构怎么做市场推广专员