- 博客(3)
- 收藏
- 关注
原创 三种访问修饰符
1.public:公共的类外可访问 #include<iostream> using namespace std; class AA { public: int a; }; int main() { AA aa; aa.a = 9;//此时可以给a赋值 system("pause"); return 0; } 2.private:私有的,类外不能访问,只有类内可以访问 #include<iostream> using namespace std; class AA
2022-02-09 12:54:07 214
原创 什么时候调用拷贝构造?
1.用一个对象去初始化另一个对象 详细代码: #include<iostream> using namespace std; class AA { public: int *a; public: AA(); AA(AA& b); ~AA(); void fun(AA a); }; AA::AA() { a = new int(100); } AA::AA(AA& b) { a = new int; *a = *b.a; } AA::~AA() ..
2022-01-18 11:43:05 150
原创 浅拷贝与深拷贝
浅拷贝:是将元对象的值拷贝到目标对象中去,本质上来说源对象和目标对象共用一份实体,只是所引用的变量名不同,地址其实还是相同的。若成员变量中含有指针类型,如果只执行浅拷贝,在销毁对象时,两个对象的析构函数将对同一片内存空间释放两次,从而导致出错。 深拷贝:重写拷贝构造,拷贝的时候先开辟出和源对象大小一样的空间,然后将原对象里的内容拷贝到目标对象中去,这样两个指针就指向了不同的内存位置。 //浅拷贝 #include<iostream> using namespace std; class A
2022-01-18 11:24:14 50
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人