- 博客(4)
- 收藏
- 关注
原创 将一个类的成员函数声明为另一个类的友元却无法访问其私有数据成员的问题
类对象的编号, 以便更好地查看输出信息, 结果遇到一个与友元相关的问题, 希望与大家共勉.根据 C2653 的错误提示, 我推测错误原因可能与将类分写在两个文件中的情况类似, 在类。虽然最终解决了问题, 但代码的逻辑却感觉越改越乱, 我不禁开始思考其他解决方案.其实原因与之前类似, 反过来编写后, 编译器并不知道。的友元, 再次报错. 最终, 我修改代码, 首先申明。类, 将仿函数中 () 运算符重载的定义放在。, 当时大脑一热, 想在删除时输出被删除。类中的成员函数被声明为下一行。的成员函数为友元时,
2024-06-08 09:33:15
272
原创 vector 学习笔记
vector在扩容时, 如果没有更长的连续空间, vector会重新寻找新的更长内存位置, 将原有元素拷贝过去进行扩容, 效率不高, 因此在使用时最好先预估会存放多少元素, 先申请相应的容量空间。可以将vector中元素个数扩充为括号内指定的个数 a , 新增的元素指定为 b, 若不指定默认为 0。可以将vector中元素个数缩小为括号内指定的个数 a , 后面多余的元素会被抹去, 但是总容量不变。for 循环 + .at()方法。for 循环 + []索引。可以用于在尾部添加元素。
2024-05-31 16:23:39
206
原创 c++子类与父类关系
对象切片是指当子类对象赋值给父类对象时,子类对象的特定部分会被“切片”掉,只保留父类部分。因此C++不允许直接将子类对象赋值给父类对象。指针和引用不会导致对象切片,因为它们只是存储对象的地址,不涉及对象的复制。由于对象切片的问题,C++不允许直接将子类对象赋值给父类对象。但可以使用指针和引用避免对象切片问题,保持对象的完整性,同时允许多态行为。这样,子类对象的额外数据和行为将被切掉,只保留父类部分,这会导致数据丢失和不一致。在C++中,子类对象不能直接赋值给父类对象,主要涉及到对象模型和对象切片的问题。
2024-05-29 21:02:23
298
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人