zoukankan      html  css  js  c++  java
  • 拷贝构造函数 转型构造函数

      拷贝构造函数创建一个新的对象,此对象是另一个对象的拷贝品。
    要注意两点:
    第一,拷贝构造函数的原型是引用,如
    Person(Person &);
    Person(const Person &);
    第二,拷贝构造函数可以有多于一个的参数,但第一个以后的所有参数都必须有默认值
    Person(const Person & p,bool married = false);(第一个参数可以无默认值)
    如果类的设计者不提供拷贝构造函数,编译器会自动生成一个。

    通常,如果一个类包含指向动态存储空间的数据成员,则就应为这个类设计拷贝构造函数。
    如果想新对象和原对象指向不同的存储空间,就必须自己新设计拷贝构造函数。这样修改新对象的数据成员就不会改变原有对象的数据成员。
    所以,拷贝构造函数的特点就是函数名必须和类名一致,它惟一的一个参数是本类的一个引用变量。
    *********************************************************a beautiful cutline***
    转型构造函数,隐型类型转换,使用了一个隐藏的方式将string转换为person
    Person(string s)
    class Person {
          public:
                explicit Person(const string &n) {name = n;}//使用explicit禁止了转型构造函数
    }















































































































































































































































































































































































































































































































































































































































































































  • 相关阅读:
    四则运算结对作业
    读《构建之法》第四、十七章有感
    四则运算练习的命令行软件
    Spring01
    oop01
    运行shell脚本的三种方式
    正则表达式的基础组成部分
    C语言文件函数
    shell文件描述符及重定向
    shell基础
  • 原文地址:https://www.cnblogs.com/xiexie/p/1579646.html
Copyright © 2011-2022 走看看