zoukankan      html  css  js  c++  java
  • 第6章 初始化与清除

      用构造函数确保初始化

      在一个对象被定义时:

        X a;
    

      这时就好像a是一个int一样:为这个对象分配内存。但是当程序执行到a的序列点执行的点时,构造函数自动被调用,因为编译器已悄悄地在a的定义点处插入了一个X::X()的调用。就像其他成员函数被调用一样。传递到构造函数的第一个(秘密)参数是this指针,也就是调用这一函数的对象的地址,不过,对构造函数来说,this指针指向一个没有被初始化的内存块,构造函数的作用就是正确的初始化该内存块。

     

      默认构造函数

       记住,一旦有了构造函数,编译器就会确保不管在什么情况下它总会被调用。

     

      默认的构造函数非常重要,所以当一个结构或类中没有构造函数时,编译器会自动为它创建一个。如:

        class V {
        int i;  // private
        };      // No constructor
    
        int main() {
        V v,v2[10];
        }

      然而,一旦有构造函数而没有默认构造函数,上面的对象定义就会产生一个编译错误。

  • 相关阅读:
    go——数组
    go——流程控制
    go——基本类型
    go——基本构成要素
    go——常量
    go——变量
    go——标准命令
    go——工程结构
    python 优雅的使用正则表达式 ~ 1
    python 安装操作 MySQL 数据库.
  • 原文地址:https://www.cnblogs.com/sheshiji/p/3427691.html
Copyright © 2011-2022 走看看