zoukankan      html  css  js  c++  java
  • C++中构造函数调用与申明方式的关系

    C++中,对于自定义的类比如GCStudent,需要声明并且初始化一个对象。

    GCStudent stu;

    GCStudent stu1 = stu;

    对于第一个stu的声明,系统肯定会去调用系统默认的构造函数。但是对于第二个stu1,系统调用的构造函数并不是系统默认的构造函数,而是调用拷贝构造函数。

    但是如果我们这样声明

    GCStudent stu;

    GCStudent stu1;

    stu1 = stu;

    这个时候stu1和stu2都调用默认的构造函数,在stu1赋值的时候,调用系统的等号运算符重载。

    其原理,一个类的对象必须调用一次构造函数,而且一个运算符肯定不可能出现歧义,因此对于第一种情况,= 号在这里只能调用默认的构造函数,而不能调用赋值运算符。

  • 相关阅读:
    mysql
    mysql
    mysql
    mysql
    sed编辑命令
    awk正则应用
    awk运算符
    awk命令细节
    uniq命令
    sort命令
  • 原文地址:https://www.cnblogs.com/BreakMind/p/focus.html
Copyright © 2011-2022 走看看