#include #include #include "Word_String.h" #include "Word_String.h" // intended for testing of include guard using namespace std; int main() { { // I programspråket Python går det enkelt och kortfattat hantera // text. Som exempel visas koden för att läsa in en rad och sedan // skriva ut orden i omvänd ordning: // line = input().split() // // for word in reversed( line ): // print(word) // I C++ blir det bra mycket krångligare att göra samma sak. Koden // nedan visar ett exempel på hur det skulle kunna skrivas: string line; getline(cin, line); istringstream iss{line}; vector v; string word; while ( iss >> word ) { v.push_back(word); } for ( size_t i{v.size()}; i > 0; --i) { cout << v.at(i-1) << " "; } cout << endl; } { // Du ska skapa en väl inkapslad klass i C++ för att göra ovan avsevärt // enklare. Följande kod ska fungera när din klass är klar: // Exempel 1 Word_String line; cin >> line; for ( int i{line.length()-1}; i >= 0; --i ) { cout << line.at(i) << " "; } cout << endl; // Exempel 2 Word_String const text{"This string constructor should also work"}; for ( int i{}; i < text.length(); ++i) { cout << text.at(i) << " "; } cout << endl; } { // Exempel 3 // Indexeringsoperatorn är en medlemsoperator vid namn operator[]. // Returvärde, parameterlista och funktion är som at() funktionen. Word_String const text{"Finally you must add the index operator []"}; for ( int i{}; i < text.length(); ++i) { cout << text[i] << " "; } cout << endl; } return 0; }