Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #ifndef HEADER_INCLUDED
- #define HEADER_INCLUDED
- /* Feladat: Egy olyan string_implemented_with<...> létrehozása, mely biztosítja a template-ben kapott típusnak a String műveleteit:
- - létrehozás: pl.:
- char v[]="kukumuku"; // de ez lehet más típus is
- string_implement_with<...> (v); -> ezután a char v[]-nek 0-nak kell lennie ( \0-t az elejére kell hozni -> "kukumuku\0")
- - at(int, ind)
- - erease(pos, int) -> adott pozíciótól hány elemet töröljön (a típusnak megfelelően)
- */
- #include <string>
- template <class T, class S>
- class string_implemented_with{
- private:
- T lista;
- public:
- string_implemented_with(S* s){
- for(int i =0; i < sizeof(*s); ++i){
- lista.push_back(s[i]);
- }
- }
- string_implemented_with &erase(int x, int y){
- typename T::iterator it = lista.begin();
- int i = 0;
- while(i != x){
- ++it;
- ++i;
- }
- while(i != y){
- std::cout<<"szia\n";
- lista.erase(it);
- ++it;
- ++i;
- }
- return *this;
- }
- S at(int x) const{
- typename T::const_iterator it = lista.begin();
- for(int i = 0; i < x; ++i){
- ++it;
- }
- return *it;
- }
- const int length() const{
- return lista.size();
- }
- };
- #endif // HEADER_INCLUDED
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement