Является ли способ, которым я объявил абстрактный класс неправильным / не распространенным? [Дубликат]

Мне не нужно писать функцию.

test%>%group_by(set,gr)%>%mutate(calss=ifelse(any(stringr::str_detect(gr,'a|b')&(set==vals)),'catched',NA)
+ )
# A tibble: 18 x 4
# Groups:   set, gr [6]
     set     gr  vals   calss
   <dbl> <fctr> <dbl>   <chr>
 1     1      a    10    <NA>
 2     1      a    10    <NA>
 3     1      a     9    <NA>
 4     1      b     8 catched
 5     1      b     1 catched
 6     1      b     1 catched
 7     2      a    10    <NA>
 8     2      a    10    <NA>
 9     2      a    10    <NA>
10     2      b     9 catched
11     2      b     6 catched
12     2      b     2 catched
13     3      a    10    <NA>
14     3      a     7    <NA>
15     3      a     6    <NA>
16     3      b     1    <NA>
17     3      b     1    <NA>
18     3      b     2    <NA>
-2
задан BonecoJan 18 January 2019 в 18:17
поделиться

1 ответ

Нет явного ключевого слова, чтобы сделать ваш класс абстрактным в C ++. Ваш код не должен компилироваться, потому что abstract не является ключевым словом C ++, вы, вероятно, используете расширение компилятора, чтобы оно не перекрывало это ключевое слово.

Способ создания абстрактного класса в C ++ заключается в объявлении одной или нескольких чисто виртуальных функций, например, test:

virtual void test() = 0;
0
ответ дан Sombrero Chicken 18 January 2019 в 18:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: