![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++基础
alexandsunny
这个作者很懒,什么都没留下…
展开
-
拷贝构造与重载赋值运算符
编译器默认的拷贝构造函数,发生的是Memberwise Initialization(成员逐一初始化),类的成员变量被逐一复制。而默认赋值运算符,也是逐一复制成员变量。一旦成员变量中,有程序员在heap开辟的空间(指针,new),使用默认拷贝构造函数就会引起浅拷贝和深拷贝的问题。浅拷贝:将指针指向的地址复制给新初始化的对象对应的成员变量,两个类对象指向heap上的同一块内存。一旦其中一个对象释放那块内存,另一个对象的指针就会变成野指针,对其进行操作可能会产生非常严重的错误。深拷贝:对指针类型的成员变量原创 2020-06-24 09:26:26 · 261 阅读 · 0 评论 -
C++中三种友元的示例
关于C++友元。友元——可以访问私有1.全局函数做友元2.类做友元3.成员函数做友元#include <iostream>#include <string>using namespace std;//友元——可以访问私有//1.全局函数做友元//2.类做友元//3.成员函数做友元class Building;class Gay {public: Gay(); void friendvisit(); //可以访问私有 void normalvisit原创 2020-06-15 22:17:31 · 728 阅读 · 0 评论