C++中构造函数重载


#include<stdio.h>
class Test 
  {
    private:
     int i;
     int j;
     int k;
    public:
     Test()
   {
        i=j=k=0;
    }
      Test(int v)
    {
       i=j=k=v;
    }
     void print()
    {
      printf("i= %d, j=%d, k=%d \n",i,j,k);
     }
 };
int main()
{
    Test t1(1);
    Test t2=2;
    Test t3=Test(3);
    t1.print();
     t2.print();
    t3.print();
    Test TA[3];
    for(int i=0; i<3;i++)
    {
      TA[i].print();
     }
}

  当类中没有定义构造函数时,C++编译器自动提供无参构造函数和拷贝构造函数

  当类中定义了任意的拷贝构造函数,C++不提供无参构造函数。

系统自动提供的构造函数

  无参构造函数

     函数体为空

  拷贝构造函数

     简单的进行成员变量的值复制

     Test t1;

     Test t2=t1;    ///t2简单的复制t1中成员变量的值

以上所述就是本文的全部内容了,希望大家能够喜欢。


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3