构造函数及有关函数的调用过程

来源:互联网 发布:淘宝设置自动发货 编辑:程序博客网 时间:2024/06/05 07:14
//c++中的构造函数(六种):此处列举常见的四种构造函数#include<iostream.h>class Test{private:int value;public://1缺省的构造函数:创建对象Test(int x=0):value(x)           //以参数列表的形式初始化所建立的对象{cout<<"Creat Test:"<<this<<endl;}//2拷贝构造函数:用一个对象创建另一个对象Test(const Test &it):value(it.value){cout<<"Copy Creat Test"<<this<<endl;}//3赋值函数Test & operator=(const Test &it) //&前面有类型(Test)所以it为引用{if(this != &it)              //此处&前面没类型所以为取地址符{value=it.value;}cout<<this<<" = "<<&it<<endl;return *this;}//4析构函数~Test(){cout<<"Destory Test:"<<this<<endl;}int Getvalue() const {return value;}};                                   //!!!!注意此处";"不可省略:否则出现bugTest fun(Test tp){int x=tp.Getvalue();Test tmp(x);return tmp;}void main(){Test t1(10); Test t2=fun(t1);//创建对象有实参必带括号//Test t2;                         //无实参必不带括号//t2=fun(t1);//Test func();                     //函数定义在主函数后面,不能直接调用,先声明(即此为函数声明)                             //这种声明在c语言中随处可见(c++继承这种特性)//Test t3();                                    //这种形式看做函数声明cout<<"Main End" <<endl;}Test func(){Test tp(10);return tp;}

0 0
原创粉丝点击