美文网首页
C++ 类 拷贝构造函数

C++ 类 拷贝构造函数

作者: ebayboy | 来源:发表于2019-09-30 09:26 被阅读0次

    /* class constructor && desctructor */

    /* 新建一个对象, 使用老的对象赋值,实际上是调用的拷贝构造函数 */

    #include <iostream>

    using namespace std;

    class Line {

    private :

    int *ptr;

    public:

    /* constructor */

    Line(int len);

    Line(const Line &old);

    /* destructor */

    ~Line(void);

    void setLength(int len);

    int getLength();

    };

    Line::Line(int len)

    {

      ptr = new int;

      *ptr = len;

    }

    Line::~Line()

    {

    cout << "Destructor!" << endl;

    delete ptr;

    }

    Line::Line(const Line &old)

    {

    ptr = new int;

    *ptr = *old.ptr;

    }

    void Line::setLength(int len)

    {

    *ptr = len;

    }

    int Line::getLength()

    {

    return *ptr;

    }

    int main()

    {

    /* old obj */

    Line l(10);

    cout << "Line:" << l.getLength() << endl;

    /* copy construct1 */

    Line l2(l);

    cout << "Line2 :" << l2.getLength() << endl;

    /* copy construct2 */

    /* Line l3 = l2;  < == > Line 3(l2);  */

    Line l3 = l2;

    cout << "Line3 :" << l3.getLength() << endl;

    return 0;

    }

    相关文章

      网友评论

          本文标题:C++ 类 拷贝构造函数

          本文链接:https://www.haomeiwen.com/subject/fcqjyctx.html