• c++构造函数 对象初始化


    最近查看了关于c++构造函数的博客,为了防止关键知识的遗忘,特此记录一些要点,以便于今后的查阅。

    如果不主动书写构造函数,c++或默认提供一般构造函数,拷贝构造函数以及复制运算符的操作。
    一般的构造函数没有任何参数,默认提供的该种构造函数不执行任何操作
    默认提供的拷贝构造函数简单的将成员变量赋值
    默认提供的复制运算也是简单的将成员变量赋值
    假设有类A,3种初始化方法在代码中表现如下
    A a();  一般的构造函数(带参数的一般构造函数可以视作对a的重载)
    A a(b);  拷贝构造函数
    A a = c; 赋值运算
    值得注意的是 如果有动态分配的类成员 那么应该重载拷贝构造函数和赋值运算符
    主要是由于,默认的考培构造和=运算符都是简单的进行成员的复制,这样会导致两个对象的成员同时指向一块内存区域,两个成员粘滞在一起,改动了其中一个,另一个也会发生改变。所以必须重载这个函数以及运算符,保证每个对象的成员(动态分配)都有自己独立的空间。
    关于如何对赋值运算符进行重载, 会在另一篇中记载

  • 相关阅读:
    django之admin管理工具
    django之中间件
    cookie和session
    day052-53 django框架
    day050 前端Jquery库的使用
    sprint
    Scrum 项目1.0
    【团队项目】3.0
    [读书笔记]
    【团队项目】2.0
  • 原文地址:https://www.cnblogs.com/xdblog/p/5462381.html
Copyright © 2020-2023  润新知