C++学习
文章平均质量分 62
个人C++的一些学习经验
kuinnebula
这个作者很懒,什么都没留下…
展开
-
C++ 深拷贝与浅拷贝
我们注意test函数,在p1创建时调用了含参构造函数,而这里m_Height由于是指针类型的,所以我们new了一块内存,使m_Height指向160的内存地址。此时在拷贝构造函数中我们看到,对于m_Height,这个是进行直接赋值的,由于m_Height是指针类型,所以这里代表。由于堆中内存需要手动销毁,所以我们选择在析构函数调用时顺便手动销毁堆中的内存,运行后发现程序报错。我们观察拷贝构造函数,发现此时p1,p2的堆区已经不一样了,这时再运行就没有问题了。这就是浅拷贝直接赋值会出现的问题,堆区指向重叠。原创 2024-04-16 23:13:03 · 578 阅读 · 1 评论 -
C++多态
1.有。原创 2024-07-29 22:08:01 · 186 阅读 · 0 评论 -
C++运算符重载
原理和成员函数基本相同,返回值为类型,区别只是参数变成了两个类。将函数名命名为operator+,就可以对‘+’进行重载。原创 2024-05-12 23:09:54 · 220 阅读 · 1 评论 -
C++继承
首先,无论是哪一种继承方式,父类中的私有类型是无法访问的(设置成友元除外)。而变成子类中的private类型时,子类本身是可以对其进行访问的,比如第三种情况。当然,在类外依旧无法访问类内的私有成员。父类的所有非静态成员属性都会被子类继承下去,其中private类型的只是没有办法访问,但是依旧被继承下来了。这里加上了Animal::,等于说指明了作用域,因此可以访问父类中的同名成员了。这样,后来的Sheep类,Tuo类以及YangTuo类都能指向同一份数据c。保护类型:类内可以访问,而类外不能访问。原创 2024-05-17 20:34:49 · 763 阅读 · 0 评论 -
C++ 友元
将一个类作为另一个类的友元,这样前一个类创建的对象就可以访问后一个类的私有成员变量。这时,将Friend设置为Building类的友元,就可以继续访问。在Friend函数中,如果直接调用私有成员变量,程序报错。这样,可以单独将类的一个成员函数作为友元。原创 2024-04-18 21:05:26 · 340 阅读 · 1 评论