Так как вы знаете: строка типа C представляет собой массив символов, который заканчивается с «нулевым»Общий класс, который принимает C++ строку & C строку стиля
C++ строка стиль:
string s = "Some text";
так принимаем как строку C++, так и строку стиля C, я уверен, что мне нужно использовать шаблон C++.
Я пытаюсь написать класс и метод, который возвращает второй символ строки для строки стиля C++ или C. Я на правильном пути?
template <class T>
class mystring {
T pointer;
public:
mystring(T input) { pointer = input }
char getSecondLetter() {
T temp = pointer;
temp++;
return temp;
}
};
int main() {
mystring<I dont know what to put> myobject("HELLO");
cout << myobject.getSecondLetter();
return 0;
}
p.s. Всегда ли программисты используют «T» для типа данных класса шаблона?
Определить «принять». Есть ли что-то, что 'std :: string' делает * not * для вас, что вам нужно (и, отвечая на это, рассмотрите член' c_str() ', который позволяет ему представлять извне как строку с завершающим нулем). ? Кроме того, должен ли быть класс/метод? Почему не просто пара перегруженных функций? – WhozCraig
Извините, я не понимаю ваш комментарий = (Я пытаюсь реализовать свою собственную функцию/класс, не используя заданные функции библиотеки, которые будут принимать строку c или cpp и выполнять некоторые операции над строкой –
@JL Нет, программисты не всегда используйте 'T', но это стандарт. – timss