2015-05-15 7 views
-1

Это мой код, я включаю строку только в заголовок word.h. Я не понимаю, где проблема.error: ожидаемое имя класса до '{'

#ifndef WORD_H 
#define WORD_H 

#include <string> 


class word : public string 
{ 
    private: 
     static string valid_ch; 
    public: 
     word() {} 
     word(const string&); 
     static word extract(const string&, size_type&); 
}; 

#endif 
+1

https://stackoverflow.com/questions/2034916/is-it-okay-to-inherit-implementation-from-stl-containers-rather-than-delegate – CoryKramer

+2

Читайте на «пространствах имен» в своей любимой ссылке на C++ , –

+1

Вам действительно нужно классное слово? В отличие от Java и C#, C++ не требует, чтобы все методы, функции и переменные находились в классе. У вас может быть функция свободного стояния для извлечения слова из строки. –

ответ

2

использование std::string вместо string.

Кроме того, std::string не является полиморфным (не имеет виртуальной функции для интерфейса и разрушения), поэтому word также не будет использоваться и не может использоваться вместо строки.

Соответствует ли это тому, что вы делаете?

+0

Спасибо, я не программирую на C++ с 10 лет, я нашел код на веб-сайте в классе строк. – Appost

Смежные вопросы