当我试图在它们的数组中检测某个字符串时,我遇到了一个奇怪的问题.谁知道这里发生了什么?
(rdb:1) p magic_string
"?Time Period"
(rdb:1) p magic_string.class
String
(rdb:1) p magic_string == "Time Period"
false
(rdb:1) p "Time Period".length
11
(rdb:1) p magic_string.length
14
(rdb:1) p magic_string[0].chr
"\357"
(rdb:1) p magic_string[1].chr
"\273"
(rdb:1) p magic_string[2].chr
"\277"
(rdb:1) p magic_string[3].chr
"T"
Run Code Online (Sandbox Code Playgroud) 我需要创建一个类,比方说FineStack
,谁应该声明一个能够管理不同类型罚款的结构(LightFine
,SeriousFine
).两者的超类都是Fine
.
问题是,我真的需要模板吗?我认为没有必要,所以这就是我的想法:
- >声明Fine *fines
; 而且...创建数组(罚款?数组类型的-的)Fine
的对象(超类),它应该能够同时管理LightFine
和SeriousFine
对象.
- >问题是.我该如何申报?Fine
应该是一个抽象类,因此不能创建任何实例(实例应该是LightFine
's或SeriousFine
's).
我对此感到困惑,因为我找不到获得它的方法.我在Stackoverflow中读过多个问题,你们通常建议使用这些问题std::vector
,这使你更容易管理这类东西.
我应该这样走,忘记最初的想法吗?
我需要一个能够以任何顺序处理来自两个子类的任何对象的结构(让我们说... 3 LightFine
和2 SeriousFine
......或者从结构的开始到结束彼此交替...无论如何.