使用C++类对象构造函数

所谓C++类对象:一个类的所有对象对应同一个类对象,想要学好C++类对象。首先要了解C++语言的概念是非常重要的,那么就先说一下什么是C++语言,所谓C++语言:是一种使用非常广泛的计算机编程语言。

象州网站建设公司创新互联公司,象州网站设计制作,有大型网站制作公司丰富经验。已为象州上千余家提供企业网站建设服务。企业网站搭建\成都外贸网站建设要多少钱,请找那个售后服务好的象州做网站的公司定做!

在学习这一章内容前我们已经学习过了类的构造函数和析构函数的相关知识,对于普通类型的对象来说,他们之间的复制是很简单的,自己定义的类的对象同样是对象,谁也不能阻止我们用以下的方式进行复制,例如:

 
 
 
  1. include     
  2. using namespace std;    
  3.     
  4. class Test    
  5. {    
  6. public:    
  7.     Test(int temp)    
  8.     {    
  9.         p1=temp;    
  10.     }    
  11. protected:    
  12.     int p1;    
  13.     
  14. };    
  15.     
  16. void main()    
  17. {    
  18.     Test a(99);    
  19.     Test b=a;    

普通对象和类对象同为C++类对象,他们之间的特性有相似之处也有不同之处,类对象内部存在成员变量,而普通对象是没有的,当同样的复制方法发生在不同的对象上的时候。那么系统对他们进行的操作也是不一样的,就类对象而言,相同类型的类对象是通过拷贝构造函数来完成整个复制过程的,在上面的代码中。

 
 
 
  1. #include     
  2. using namespace std;    
  3.     
  4. class Test    
  5. {    
  6. public:    
  7.     Test(int temp)    
  8.     {    
  9.         p1=temp;    
  10.     }    
  11.     Test(Test &c_t)//这里就是自定义的拷贝构造函数    
  12.     {    
  13.         cout<<"进入copy构造函数"<;    
  14.         p1=c_t.p1;//这句如果去掉就不能完成复制工作了,此句复制过程的核心语句    
  15.     }    
  16. public:    
  17.     int p1;    
  18. };    
  19.     
  20. void main()    
  21. {    
  22.     Test a(99);    
  23.     Test b=a;    
  24.     cout<;    
  25.     cin.get();    

我们并没有看到拷贝构造函数,同样完成了复制工作,这又是为什么呢?因为当一个类没有自定义的拷贝构造函数的时候系统会自动提供一个默认的拷贝构造函数,来完成复制工作。

下面,我们为了说明情况,就普通情况而言(以上面的代码为例),C++类对象来自己定义一个与系统默认拷贝构造函数一样的拷贝构造函数,看看它的内部是如何工作的! 上面代码中的Test(Test &c_t)就是我们自定义的拷贝构造函数,拷贝构造函数的名称必须与类名称一致,函数的形式参数是本类型的一个引用变量,且必须是引用。

网站名称:使用C++类对象构造函数
文章网址:http://www.shufengxianlan.com/qtweb/news43/269693.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联