zoukankan      html  css  js  c++  java
  • copy contructor拷贝构造函数 (Copy Control)

    复制构造函数copy constructor、

    赋值操作符 operator =、

    析构函数destructor:不管类是否定义了自己的析构函数,编译器都自动执行类中非static数据成员的析构函数。

    复制构造函数、赋值操作符、析构函数 总称为复制控制(copy control)。编译器自动实现这些操作,但类也可以定义自己的版本。

    下面代码所使用copy contructor的地方有:

    class Point{
    public:
    	Point(){}
    	Point(const Point & p){
    		static int i=0;
    		cout<<++i<<"call Point copy constructor."<<endl;
    		this->str=p.str;
    	}
    	Point(string s):str(s){}
    	string get_str(){return this->str;}
    private:
    	string str;
    };
    Point global;
    Point foo_bar(Point arg){	//1 use 
    	Point local=arg;	//2 use 
    	Point *heap=new Point(global);	//3 use
    	*heap=local;	//not use
    	Point pa[4]={local,*heap}; //4 use 5 use
    	return *heap;	//6 use
    }
    int main(int argc, char* argv[])
    {
    	Point p("xy");
    	foo_bar(p);
            return 0;
    
    }
    

      

  • 相关阅读:
    MSXML 解析XML文件
    内存泄露
    TCHAR CHAR LPTSTR LPCTSTR
    union过代理存根
    jquery placeholder
    SASS 编译后去掉缓存文件和map文件
    js冒泡排序
    android 下滤镜效果的实现
    ViewPagger介绍
    android下实现对wifi连接的监听
  • 原文地址:https://www.cnblogs.com/wucg/p/2198466.html
Copyright © 2011-2022 走看看