// c2cpp.cpp - C-jonojen muuttaminen C++ -jonoiksi #include #include using namespace std; void tulosta(const string& cppS) { cout << cppS << endl; } void muuta_eka(string& cppS) { cppS[0] = 'R'; } void muuta_toka(string *cppS) { (*cppS)[1] = 'u'; } int main(void) { char cs1[10] = "Kissa"; string cppS1(cs1), cppS2("Koira"); // 1. tapa muuttaa cout << cppS1 << " " << cppS2 << endl; string cppS3,cppS4,cppS5; cppS3 = cs1; cppS4 = "Kana"; // 2. tapa muuttaa cppS5 = 'A'; // Jopa merkki voidaan sijoittaa cout << cppS3 << " " << cppS4 << " " << cppS5 << endl; tulosta(cppS4); // Toimii ilman muuta! tulosta(cs1); // Muuttaa automaattisesti cs1 => tilap„inen apujono tulosta("Mato"); // Muuttaa automaattisesti "Mato" => tilap„inen apujono muuta_eka(cppS3); tulosta(cppS3); // Tottakait toimii muuta_eka(cs1); tulosta(cs1); // Ei virheit„, mutta varoitus ja ei toimi! muuta_eka("Emu"); tulosta("Emu"); // Onneksi ei toimi! Varoitus. muuta_toka(&cppS4); tulosta(cppS4);// Tottakait toimii // muuta_toka(&cs1); tulosta(cs1); // Ei k„„nny /* Ohjelman tulostus: Kissa Koira Kissa Kana A Kana Kissa Mato Rissa Kissa Emu Kuna */ return 0; }