surx的专栏

一芽知春,一叶知秋

C++学习体会--构造函数,析构函数,拷贝构造函数

1.构造函数

确保对象的初始化,

    构造函数不能被继承,因此,在定义派生类的构造函数时除了对自己的数据成员进行初始化外,还必须负责调用基类结构函数,使基类的数据成员使以初始化。派生类构造函数的调用顺序:基类的构造函数、子对象类的构造函数、派生类构造函数。

2.析构函数

确保对象的清除

  析构函数也不能被继承,在执行派生类的析构函数时,基类的析构函数也将被调用。执行顺序是先执行派生类的析构函数,再执行基类的析构函数,与构造函数的执行顺序相反

   当对象超出它的定义范围时,编译器自动调用析构函数。在对象的定义点处构造函数被调用,但析构函数调用的唯一根据是包含该对象的右括号

     程序中不能直接调用构造函数,析构函数,只能在创建对象时系统自动调用.动态分配的对象当使用new为对象分配内存时会调用构造函数,使用delete删除对象时会调用析构函数.析构函数可以是虚函数,构造函数不能是虚函数.

3.拷贝构造函数


     拷贝构造函数就是用已存在的对象来初始化另一个对象。

   当类的数据成员中存在指针成员的时候,要自己定义它,因为编译器往往采用位拷贝,一个内存块一位一位的复制过去,造成多个对象的指针成员都指向同一块内存区域


阅读更多
文章标签: c++ 编译器 delete
上一篇C++学习体会--:: . ->
下一篇C++学习体会--友元
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭