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

网站后台无法上传照片WordPress纯代码标签页面

网站后台无法上传照片,WordPress纯代码标签页面,wordpress 多文件上传,网络营销导向网站建设的基础目录 什么是拷贝构造函数?编译器默认的拷贝构造函数构造函数的分类及调用结束语 什么是拷贝构造函数? 用一句话来描述为拷贝构造即 “用一个已知的对象去初始化另一个对象” 具体怎么使用我们直接看代码,代码如下: class Maker…

目录

      • 什么是拷贝构造函数?
      • 编译器默认的拷贝构造函数
      • 构造函数的分类及调用
      • 结束语

什么是拷贝构造函数?

用一句话来描述为拷贝构造即 “用一个已知的对象去初始化另一个对象

具体怎么使用我们直接看代码,代码如下:

class Maker
{
public:Maker(){cout << "无参构造函数" << endl;a = 20;}Maker(const Maker &m){cout << "拷贝构造函数" << endl;a = m.a;}//打印函数void printMaker(){cout << "a=" << a << endl;}
private:int a;
};void test01()
{Maker m1;m1.printMaker();Maker m2(m1);m2.printMaker();
}

好!按照老样子,接下来开始详细讲解每行代码的用处,以及为什么这样写!

Maker m1;

//首先实例化一个对象,并且该对象名为m1。

m1.printMaker();

//通过对象m1来调用Maker类中的printMaker()方法。

Maker m2(m1);

//相当于是用一个已有的对象(m1)来初始化另一个对象,并且该对象名为m2,相当于“套娃”,一层套一层。

m2.printMaker();

//使用已经实例化成功的对象m2来调用Maker类中的printMaker()方法。

Maker(const Maker &m){cout << "拷贝构造函数" << endl;a = m.a;}

//这里需要大家特别注意,我们使用拷贝构造函数的形参必须要引用,至于为什么,我们一起来探索为什么不能用引用。
//先上代码:

class Maker3
{
public:Maker3(int Ma){cout << "有参构造函数" << endl;ma = Ma;}Maker3(const Maker3 m)//注意这里的形参不是引用{cout << "拷贝构造函数" << endl;}
private:int ma;
};void test03()
{Maker3 m1(10);//调用有参构造Maker3 m2(m1);
}

好!按照老样子,接下来开始详细讲解每行代码的用处,以及为什么这样写!

  1. 首先 Maker3 m2(m1);使用了拷贝构造函数,m1为形参。
  2. Maker3 m2(m1); 《===》const Maker3 m=m1;
  3. const Maker3 m=m1; 《===》const Maker3 m(m1);
  4. const Maker3 m(m1); 《===》const Maker3 m=m1;
  5. 然后进入了死循环,接下来会执行const Maker3 m=m1; 《===》const Maker3 m(m1);以此类推。
  6. 所以我们使用拷贝构造函数的条件下,形参应该是引用!!!

编译器默认的拷贝构造函数

如果我们使用拷贝构造函数来用一个对象来初始化另一个对象时,忘记在类中创建拷贝构造函数方法,那么此时其实也不会报错,也能正常运行,因为编译器已经默认提供了拷贝构造函数。为了更清楚的展示,先上代码:

class Maker2
{
public:Maker2(){cout << "无参构造函数" << endl;a = 20;}//打印函数void printMaker(){cout << "a=" << a << endl;}
private:int a;
};void test02()
{Maker2 m1;m1.printMaker();Maker2 m2(m1);m2.printMaker();
}

//在上述代码中我们并没有在类中创建拷贝构造函数,运行结果如下:在这里插入图片描述

如上图所示,当对象m2调用printMaker()方法时,并没有报错,而是正常将a的值打印出来,并且打印值没有问题,这是因为编译器已经设置默认的构造函数,那这个构造函数长什么样子呢?如下所示:

Maker2(const Maker2 &m)
{a = m.a;
}

//默认拷贝构造函数进行了成员变量的简单拷贝,所以我们才能准确无误的将变量打印出来,即a=m1.a=20。

构造函数的分类及调用

构造函数的分类分为三种,分别是:

  1. 无参构造函数
  2. 有参构造函数
  3. 拷贝构造函数

上述三种均已讲完。

那么在类中编译器默认提供了哪些函数呢?分别是:

  1. 默认的构造函数
  2. 默认的析构函数
  3. 默认的拷贝构造函数

我们最后在分析一下这几种构造函数的软件使用方法:

void test01()
{Maker m;//调用无参构造函数Maker m1(10);//调用有参构造Maker m2(m1);//调用拷贝构造//不常用Maker m4 = Maker(10);//调用的是有参构造函数Maker m3 = m2;//调用拷贝构造Maker m5 = 10;//Maker m5=Maker(10); 调用的是有参构造函数Maker m6;m6 = m5;//赋值操作}

结束语

如果觉得这篇文章还不错的话,记得点赞 ,支持下!!!

http://www.yayakq.cn/news/188651/

相关文章:

  • 烟台有没有做网站情感营销的十大案例
  • 公司网站模板免费版中国采购网招标公告
  • 网站右侧浮动广告软件网站开发合同
  • 织梦网站移动化怎样做网站的优化、排名
  • 网站开发如何共用菜单栏西安企业排行榜
  • 59网一起做网站哪些公司做外贸网站好
  • 建设银行网站不足和建议国际军事新闻最近新闻
  • 网站可以更换域名吗施工企业oa办公系统
  • 高密做网站的价格汕头推广平台
  • 福建漳州网站建设费用那些门户网站的官网做的好
  • 网站推广员是什么阿里云服务器建设两个网站
  • 沈阳免费网站建站模板北京住房城乡建设部网站八大员
  • 网站建设哪里公司好竞价广告推广
  • 网站做flash好不好做广告在哪个网站做效果人流最多
  • 做网站买域名怎么弄佛山市锵美装饰有限公司网站建设案例
  • 快速建立网站创建一个网络平台需要多少钱
  • 广告投放网站建设网站你认为需要注意
  • 一家公司多个网站备案企业网站首页设计评价
  • 设计网站都有什么作用北京包装设计制作
  • 天津定制网站建设公司网站建设前规划
  • 网站商城方案哪个网站注册域名好
  • 黑河建设网站果洛营销网站建设多少钱
  • 网站开发7个基本流程图淮安住房和城乡建设厅网站
  • 黑河建设网站直接做的视频网站
  • 电商网站建设最好的公司济南建设网站制作
  • wordpress 导航网站国网商旅网页地址
  • 揭阳网站建设策划方案学校网站建设制作方案
  • 怎样申请网站空间杨浦专业做网站
  • 网站没有域名设置深圳电器公司怎么样
  • 阳泉推广型网站建设广西网络广播电视台