栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

坚持学习100天:拷贝构造函数

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

坚持学习100天:拷贝构造函数

前言

Hello,我是修齊。
学习C++的第一百零六天,每天强迫自己看一点,看不懂也要看,很心累,但也相信会有甜的那天。
在这里记录一些学习的东西和学习的心情,内容主要是一些自己学习整理的小笔记。

一、拷贝构造函数

用一个已经存在的对象来初始化该类的新对象,一个是用户定义拷贝构造函数,另一个系统生成默认的拷贝构造函数。
1.定义拷贝构造函数
2.调用拷贝构造函数

二、自定义拷贝构造函数

1.自定义拷贝构造函数的形式

类名(类名&对象名)
{
    拷贝构造函数的函数体
}
class ypoint 
{
  private:
      double fx,fy;//定义私有成员
  public:
      point(point &p);//声明拷贝构造函数
      void sowpoint();
};
point ::point(point &p)//定义拷贝构造函数
{
   fx=p.fx+10;//定义拷贝构造函数的功能
   fy=p.fy+20;
}
point ::point (double x,double y)//定义构造函数
{
   fx=x;
   fy=y;
}
void point ::showpoint()//定义成员函数
{
   cout<
   point p1(1.1,2.2);//用构造函数创造对象p1
   cout <<"the fx and fy of p1:";
   p1.showpoint();//调用类的成员函数
   point p2(p1);//用默认拷贝构造函数创建对象p2
   cout <<"the fx and fy of p2:";
   p2.showpoint();//调用类的成员函数
}

2.调用拷贝构造函数,在一个对象的基础上再创建另一个对象

1.用类的对象去初始化该类的另一个对象
2.函数的形参是类的对象,调用函数进行形参和实参的结合
3.函数的返回值是类的对象,函数执行完返回调用者
class point//定义类
{
   private://定义私有成员
      int x,y;
   public:
      point (int a=0,int b=0)//定义构造函数
      {
         x=a;
         y=b;//初始化成员变量
      }
      point(point &p);//声明拷贝构造函数
      int getx()//定义成员函数
      {
         return x;//取成员变量x的值
      }
      int gety()
      {
         return y;//取成员变量y的值
      }
};
point ::point(point &p)//定义拷贝构造函数
{
    x=p.x+10;//拷贝构造函数的功能
    y=p.y+20;
    cout<<"调用拷贝构造函数“<
    cout<
    point q(3,5);//调用拷贝构造函数
    return q;
}
void main()
{
    point p1(2,4);//调用构造函数创建对象p1
    point p2(p1);//调用拷贝构造函数的第一种情况
    cout< 
1.定义类point和拷贝构造函数point(point  &p)。
2.在主函数main()中,用构造函数声明对象p1。
3.使用三种形式调用拷贝函数声明了对象p2,并输出该对象的x和y值。
三、默认拷贝构造函数
class point//定义类
{
   private:
       double fx,fy;//定义私有成员
   public:
       point(double x,double y);//声明拷贝构造函数
       void showpoint();//声明成员变量
};
point::point(double x,double y)//定义构造函数
{
   fx=x;
   fy=y;//初始化成员变量
}
void point ::showpoint()//定义成员函数
{
   cout<
   point p1(1.1,2.2);//用构造函数创建对象p1
   cout<<"the fx and fy of p1:"< 
1.定义构造函数point(double x,double y)
2.在main()中创建对象p1时系统自动调用该函数,创建p2时系统自动调用默认的构造函数来实现p2的创建
四、小脑袋,大疑问

类=>构造函数=>拷贝构造函数
似懂非懂 = 看得不够
加油~ —— ~

上述内容如有侵权,联系即删。
感谢阅读-感谢支持

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/836015.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号