- 博客(3)
- 收藏
- 关注
原创 C++学习周记(三)
在多继承中,一个派生类对象通过基类指针或引用进行删除,而该派生类对象还包含有动态分配的内存,由于基类指针不能调用派生类的析构函数,那么这些动态分配的内存可能无法被正确释放,从而导致内存泄漏。多态底层是通过动态绑定来实现的,基类的指针p->相应对象的vfptr->访问相应vftabl->(起始值+偏移量)调用的是对应的派生类对象的函数。我们可以将虚函数表看成一个用于存储虚函数的地址的数组,存放虚函数地址的顺序,按照声明的顺序。派生类的虚函数表中将派生类的同名虚函数的地址。为自身的同名虚函数的地址。
2023-12-31 15:55:42 929
原创 C++学习周记(二)
一个类中可以有 public、protected、private 三种属性的成员,一般情况下,只有类内的元素可以访问private属性的成员, 如果类外特殊的一些函数或者类需要访问private属性的成员,就需要用到友元的技术(借助关键字friend实现)。为了保持更好的封装性,使之只有特定的函数才可以访问和修改类的内部状态,我们可以只将需要的成员函数作为友元。友元函数访问类的私有成员,通过参数传递对象(可以直接传递对象,也可以传递对象指针或对象引用)这里传递对象的引用,并在访问成员时指明对象。
2023-12-24 15:30:14 407
原创 C++学习周记(一)
建立Stack.h和Stack.suffix,此处suffix是你的编译器所能接受的扩展名,或是你的项目所使用 的扩展名。编写main()函数,练习操作Stack的所有公开接口,并加以编译执行。扩展Stack的功能,以支持find()和count()两个操作。构造函数:主要作用在于创建对象时为对象的成员属性赋值,构造函数由编译器自动调用,无须手动调用。设计一个学生类,属性有姓名和学号,可以给姓名和学号赋值,可以显示学生的姓名和学号。C++类中的成员可以是另一个类的对象,我们称该成员为 对象成员。
2023-12-17 14:04:08 866 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人