- 博客(5)
- 问答 (1)
- 收藏
- 关注
原创 C++学习---日志C++虚继承
在这个例子之中,就是典型的菱形问题,一个基类分别被两个子类继承,在由第四个类继承这两个子类,导致基类的重复这里体现是重复调用基类构造函数,并且由于编译器只认为两个中间类没有关系,导致在D类中其实储存了两个相同名字的函数与变量(check),以至于直接通过d.check调用的时候会显示多义性出错(在加上作用域后才可使用),并且在这里check在不同作用域是完全不同的两个变量,表现是一个为444,一个是446,这很明显是违反了设计的初衷。为了解决这个问题便需要使用虚继承。最主要的用处是解决菱形问题。
2025-05-08 21:16:06
137
原创 c++学习日志(三)——继承与多态
类本身不占用内存,类的对象才占用内存。public:cout << "people类内存:" << sizeof(people) << endl;test1();这里面sizeof(people)并不是说类真的占用一个字节内存,而是表面该类对应的对象在创建时所需的内存,其中静态对象并不存储在对象之中,因此其容量不算在其中,最后输出的只是一个默认的值“1”用以区分不同对象。这里可以总结到:只有非静态成员变量才存在于对象的内存区,其他的都不在。
2025-04-20 00:38:22
231
原创 c++面向对象学习日志(二)(修正版)
初始化列表执行时对象尚未完成构造(内存分配但成员未初始化),此时`this`指针处于半构造状态。在c++11之前,只允许const静态整型数据成员可以在类内被初始化定义,而c++11之后,加上了非静态数据成员当然引用除外,而静态成员数据非const只能在类外定义。✔️ 必须用于初始化`const`成员(在c++11后应该也可以直接初始化了)和引用类型成员变量。- `cout`是`std::ostream`类的全局对象(定义于`<iostream>`)4. 运算符重载(重点关注`<<`链式访问)
2025-04-18 00:22:37
372
原创 滑动窗口与哈希表使用
面对滑动窗口的问题,我们首先要考虑两种情况·,第一是在l与r构成的区间里面没有重复的字符时,应该满足扩张的要求,先将r对应位置的字符包含在哈希表之中,同时更新最大区间长度,此时r应该右移,而当该区间在扩张后,刚好包含了一对重复的字符,应该怎么办?至此,便是解决此题的全部思路了。也就是说,我们其实遍历了所有可能比原始区间尽可能大的区间,答案绝对正确。依循滑动窗口的经典思路,首先我先定义左右边框,l=0,r=0,接着就是判断的条件问题,如何才能找到一个符合条件的区间,并统计到最大的区间长度。
2025-03-30 20:19:54
265
原创 动态规划:买卖股票存在冷冻期的情况C语言解
至于另外一种情况就很简单了,就是在最后一天不选择抛售,即状态为C或者D,那么利润最大化必然是maxprofit(prices,pricesSize-1)了(注意于前一个情况区分开,这里完全不会使倒数第二个位置的状态受到限制也就是说利润就是该范围可以带来的最大范围)在这里我将该题描述的每个日期的状态分为ABCD四个状态,A代表当日购入股票,B代表抛售股票,C代表冻结,D表示该日期未被冻结但是没有执行AB操作也就是什么都没干.你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。
2024-12-27 18:12:55
438
空空如也
为什么余三码加法进位时每一位都要加三
2024-09-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人