zoukankan      html  css  js  c++  java
  • 构造函数的调用大全

     1 #include<iostream>
     2 
     3 using namespace std;
     4 //解析和析构函数的调用
     5 class Test
     6 {
     7 public:
     8     Test()
     9     {
    10         cout<<"我是无参的构造函数
    ";
    11     }
    12     Test (int i)
    13     {
    14         t_a=i;
    15         cout<<"i= "<<i<<endl;
    16         cout<<"哎呀,人家是形参为1的构造函数、
    ";
    17     }
    18     Test (int a,int b)
    19     {
    20         cout<<"a= "<<a<<" b= "<<a<<endl;
    21         cout<<"我是两个参数的构造函数、
    ";
    22     }
    23     Test(const Test &obj)
    24     {
    25         cout<<"我是赋值构造函数又叫拷贝构造函数
    ";
    26     }
    27     ~Test()
    28 
    29     {
    30         cout<<"我是析构函数
    ";
    31     }
    32 
    33 private:
    34     int t_a;
    35     int t_b;
    36 protected:
    37 };
    38 
    39 void playobj(Test a1)
    40 {
    41     cout<<"看看调用了没、
    ";
    42 }
    43 
    44 Test playobj2()
    45 {
    46     Test b(1,2);
    47     cout<<"这是第四种、
    ";
    48     return b;
    49 }
    50 int main()
    51 {
    52     cout<<"
    
    
    Test t1  ====>";
    53     Test t1;//无参函数的赋值
    54     cout<<endl;
    55     cout<<"
    
    
    Test t2(1,3) =========>
    ";
    56     Test t2(1,3);//两个形参的函数调用
    57     cout<<endl;
    58 
    59     cout<<"
    
    
    Test t3=(1,3)========>
    ";
    60     Test t3=(1,3);//一个形参的调用
    61     cout<<endl;
    62     cout<<"
    
    
    Test t4=3========>
    ";
    63     Test t4=3;//一个形参的调用
    64     cout<<endl;
    65     cout<<"
    
    
    Test t5(3)========>
    ";
    66     Test t5(3);//一个形参的调用
    67     cout<<endl;
    68 
    69     cout<<"
    
    
    Test t6=Test(1)========>
    ";
    70     Test t6=Test(1);//匿名对象,这个较为特殊,右边括号内几个值就调用几个形参的函数。
    71     cout<<endl;
    72 
    73     cout<<"
    
    
    Test t7=Test(1,3)========>
    ";
    74     Test t7=Test(1,3);//匿名对象,这个较为特殊,右边括号内几个值就调用几个形参的函数。
    75     cout<<endl;
    76 
    77     //接下来是四种赋值构造函数的调用情景、
    78     cout<<"
    
    
    Test e1=t1======>
    ";
    79     Test e1=t1;//第一种赋值构造函数调用方法
    80 
    81     cout<<"
    
    
    Test e2(t1)======>
    ";
    82     Test e2(t1);//这是第二种赋值构造函数的调用方法
    83 
    84     cout<<"
    
    
    playobj(t1)======>
    ";
    85     playobj(t1);//第三种调用方法
    86 
    87     cout<<"
    
    
    Test e4=playobj2()======>
    ";
    88     Test e4=playobj2();//
    89 
    90 
    91 
    92 
    93     cout<<" hello world 
    ";
    94     system("pause");
    95 }

  • 相关阅读:
    解决silverlight中“跨线程访问无效”错误
    VS 制作自定义安装程序
    SQL Server 2005开窗函数的使用
    主要邮件服务器地址
    sql数据库的备份还原操作出现的常见问题
    先安装ArcGIS9.3 后VS2008 出现的问题
    无法启动调试 未安装silverlight developer 运行时 解决办法
    SQL中ROW_NUMBER()的使用
    运用PMI主义
    Understanding the error message: “Login failed for user ''. The user is not associated with a trusted SQL Server connect
  • 原文地址:https://www.cnblogs.com/xiaochige/p/6561749.html
Copyright © 2011-2022 走看看