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

当今做哪个网站致富营销策略怎么写

当今做哪个网站致富,营销策略怎么写,长沙的企业网站建设,网站建设 云计算C的成员构造函数初始化列表:构造函数中初始化类成员的一种方式,当我们编写一个类并向该类添加成员时,通常需要某种方式对这些成员变量进行初始化。 建议应该在所有地方使用成员初始化列表进行初始化 成员初始化的方法 方法一: …

C++的成员构造函数初始化列表:构造函数中初始化类成员的一种方式,当我们编写一个类并向该类添加成员时,通常需要某种方式对这些成员变量进行初始化。

建议应该在所有地方使用成员初始化列表进行初始化

成员初始化的方法

方法一:

 正常使用{}赋值类成员变量

class Entity
{
private:string m_Name;  // 第一种方法会在这使用一次默认构造函数Entity()int m_Score;Example m_example;
public://第一种方法初始化//默认构造函数Entity(){m_Name = "Unknown";  // 第一种方法在构造函数时会调用两次默认构造函数}//构造函数:接受name作为参数的构造函数Entity(const string& name){m_Name = name;}
};

方法二:

使用成员初始化列表方式

形式就是函数名后面加上冒号,对成员变量进行赋值,用括号替换等号

class Entity
{
private:string m_Name; int m_Score;Example m_example;
public:Entity(): m_example(Example(8)) // m_example(8)等价于m_example(Example(8)){//m_example = Example(8);}// 成员初始化列表方式// 注意:不管你怎末写初始化列表,它都会按照定义类成员的顺序进行初始化,因此要确保做成员初始化列表时,要与成员变量声明时的顺序一致Entity(const int score): m_Name("Unknown"),m_Score(score)  // 列出想要初始化的成员,等价m_Name = "Unknown";{}Entity(const string& Name,const int& score): m_Name(Name),m_Score(score)  // 用括号替换等号,等价m_Name = name;{}const string& GetName() const{return m_Name;}
};

注意:不管你怎末写初始化列表,它都会按照定义类成员的顺序进行初始化,因此要确保做成员初始化列表时,要与成员变量声明时的顺序一致。成员变量声明时按照m_Name,m_Score顺序,使用成员初始化列表时需要同声明顺序一致。

两种方法的差别:

在特定类,两者功能上有区别

第一种方法在构造函数时会调用两次默认构造函数

案例:

# include <iostream>
# include <string>
using namespace std;class Example
{
public:Example(){cout << "Created Entity!" << endl;}Example(int x){cout << "Created Entity with " << x << "!" << endl;}};class Entity
{
private:string m_Name;  // 第一种方法会在这使用一次默认构造函数Entity()int m_Score;Example m_example;
public://在特定类,两者功能上有区别//第一种方法初始化//默认构造函数Entity(){m_Name = "Unknown";  // 第一种方法在构造函数时会调用两次默认构造函数m_example = Example(8);}
};
int main()
{Entity e0;//cout << e0.GetName() << endl;/*Entity e1("Chen");cout << e1.GetName() << endl;*/cin.get();return 0;
}

输出结果会同时打印出Created Entity! 以及 Created Entity with 8!。由于string是一个类,因此在声明变量时就会调用默认构造函数Entity(),而在实例化对象中,也会调用一次构造函数,然后丢弃第一次的字符串,造成资源的浪费。

当使用成员初始化列表方式就不会出现这种问题。 

Entity(): m_example(Example(8)) // m_example(8)等价于m_example(Example(8)){m_Name = "Unknown";  // 第一种方法在构造函数时会调用两次默认构造函数//m_example = Example(8);}

总的来说:应该在所有地方使用成员初始化列表进行初始化,要不然会浪费性能,对于整型这样的基本类型,它不会被初始化,除非你通过赋值来初始化它们

整体代码:

# include <iostream>
# include <string>
using namespace std;class Example
{
public:Example(){cout << "Created Entity!" << endl;}Example(int x){cout << "Created Entity with " << x << "!" << endl;}};class Entity
{
private:string m_Name;  // 第一种方法会在这使用一次默认构造函数Entity()int m_Score;Example m_example;
public://在特定类,两者功能上有区别//第一种方法初始化//默认构造函数Entity(): m_example(Example(8)) // m_example(8)等价于m_example(Example(8)){m_Name = "Unknown";  // 第一种方法在构造函数时会调用两次默认构造函数//m_example = Example(8);}//构造函数:接受name作为参数的构造函数Entity(const string& name){m_Name = name;}// 成员初始化列表方式// 注意:不管你怎末写初始化列表,它都会按照定义类成员的顺序进行初始化,因此要确保做成员初始化列表时,要与成员变量声明时的顺序一致Entity(const int score): m_Name("Unknown"),m_Score(score) // 列出想要初始化的成员,等价m_Name = "Unknown";{}Entity(const string& Name,const int& score): m_Name(Name),m_Score(score)  // 用括号替换等号,等价m_Name = name;{}const string& GetName() const{return m_Name;}
};
int main()
{Entity e0;//cout << e0.GetName() << endl;/*Entity e1("Chen");cout << e1.GetName() << endl;*/cin.get();return 0;
}
// 应该在所有地方使用成员初始化列表进行初始化,要不然会浪费性能,对于整型这样的基本类型,它不会被初始化,除非你通过赋值来初始化它们

 

http://www.hkea.cn/news/823529/

相关文章:

  • discuz 网站搬家市场营销的策划方案
  • 做婚礼网站的公司简介seo网站关键词优化软件
  • 哪些客户需要做网站推广平台排名前十名
  • 团购的网站扣佣金分录怎么做厦门百度竞价
  • 国家疫情最新政策麒麟seo外推软件
  • 河南第二波疫情最新消息淘宝关键词优化技巧教程
  • 优化好的网站做企业网站百度代理公司
  • 外贸b2c网站如何做推广百度电话人工服务
  • 百度怎样做网站并宣传网站2023上海又出现疫情了
  • wordpress后台登录慢阳山网站seo
  • 深圳网站建设企网络推广运营途径
  • 给自己女朋友做的网站yandex搜索引擎
  • 购物网站建设教程怎么在网上做广告宣传
  • 冠县做网站推广网站怎么制作
  • 开封 网站建设苹果被曝开发搜索引擎对标谷歌
  • 东莞虎门高铁站百度客户端电脑版下载
  • 建网站怎么挣钱的学seo推广
  • 自如网站做的好 服务哪个网站学seo是免费的
  • 国外网站阻止国内访问怎么做竞价推广工具
  • 建设一个网站需要哪些方面的开支百度人工客服
  • 品牌网站建设-建站之路最新疫情新闻100字
  • 东莞网站优化科技有限公司怀柔网站整站优化公司
  • 郑州网站建设联系方式外链是什么意思
  • 用wordpress做网站教程电脑优化大师有用吗
  • 佛山企业网站制作今日热点新闻事件
  • 企业网站网络推广黑帽seo培训
  • 欧美做的爱爱网站有哪些广告推广赚钱
  • 泉州网站建设工作室谷歌seo价格
  • 国建设委员会网站百度推广一天烧几千
  • 做网站 花园路国贸营销推广方案包括哪些内容