类的基本构造函数
QQ:2965614766-----初级总结。哪里不对欢迎纠正
默认构造函数 | Human(); |
---|---|
自定义构造函数 | Human(int age,string name……) |
拷贝构造函数 | Human(const Human &other) |
赋值构造函数 | Human& Human::operator=(const Human& other) |
自定义的构造函数:
Human(int age,string name……)
创建一个对象时,有若干个成员函数,比如:Human类里,年龄、姓名、所住地址、薪资等等;
拷贝构造函数
Human(const Human &other)
如上图所示:
1—此对象共有三个成员:name 、age 、 addr
2—此处需要注意的是,addr是一个指针保存的成员,所以拷贝是就不能像上面两个成员那样,直接 addr = other.addr
——首先,这是一个位拷贝(浅拷贝),会影响拷贝的结果;
——其次,析构函数(~Human())如果释放了第一个类的动态内存, addr = other.addr 这样写,会继续找第一个类的内存进行拷贝,但是第一个类已经做了delete操作了,根本找不到内存。
释放掉的内存不能再次被调用!危险操作!!! 程序直接崩掉
赋值构造函数
Human& Human::operator=(const Human</