Klasy
String i Vector
Zajęcia 9
Klasa
String
Atutem języka C++ jest biblioteka standardowych szablonów STL (Standard
Template Library), która udostępnia wiele pożytecznych klas oraz metod.
Klasa
String
umożliwia przechowywanie napisów i manipulacje na nich.
Aby móc korzystać z klasy
String
należy dołączyć plik nagłówkowy:
#include <string>
Prosty przykład użycia klasy String:
string napis1;
napis1 = "text1";
string napis2("text2");
string napis3 = "text3";
cout << napis1 << endl;
cout << napis2 << endl;
cout << napis3 << endl;
string napis4(10,'*');
cout << napis4;
Strumienie i Operatory
string napis1 = "ala";
string napis2 = "ma";
string napis3 = "kota";
string spacja = " ";
string polaczony = napis1+spacja+napis2+spacja+napis3;
cout << "Ciag \"polaczony\" to: " << polaczony << endl;
cout << "Dlugosc ciagu \"polaczony\" to: " << polaczony.length() << " znakow" << endl;
string imie;
cout << "Podaj swoje imie: ";
cin >> imie;
cout << "Masz zatem na imie: ";
for (int i=0; i<imie.length(); i++)
cout << imie[i] << " ";
Operatory cd.
string c1 = "warszawa";
string c2 = "Warszawa";
string c3 = c1;
c3[0]='W';
if (c1 == c2)
cout << "Ciagi c1 i c2 sa identyczne" << endl;
else if (c1 < c2)
cout << "Ciag c1 przed ciagiem c2" << endl;
else
cout << "Ciag c2 przed ciagiem c1" << endl;
if (c2 == c3)
cout << "Ciagi c2 i c3 sa identyczne" << endl;
else if (c2 < c3)
cout << "Ciag c2 przed ciagiem c3" << endl;
else
cout << "Ciag c2 przed ciagiem c3" << endl;
if (c1.empty())
cout << "ciag pusty" << endl;
else
cout << "ciag niepusty" << endl;
c1.clear();
if (c1.empty())
cout << "ciag pusty" << endl;
else
cout << "ciag niepusty" << endl;
cout << c2.find("rsz") << endl;
Klasa
Vector
Atutem języka C++ jest biblioteka standardowych szablonów STL (Standard Template
Library), która udostępnia wiele pożytecznych klas oraz metod.
Klasa
Vector
umożliwia przechowywanie elementów dowolnego typu i manipulacje na
nich.
Aby móc korzystać z klasy
Vectror
należy dołączyć plik nagłówkowy:
#include <vector>
Prosty przykład użycia klasy Vector z konkretną z góry znaną ilością elementów
wektora:
vector<int> wektorek(2);
wektorek[0]=34;
wektorek[1]=12;
cout << wektorek[0] << endl;
cout << wektorek[1] << endl;
Prosty przykład użycia klasy Vector z nieznaną ilością elementów wektora:
vector<int> vec;
for (int i=0; i<30; i++)
vec.push_back(i);
for(int i=0; i<vec.size(); i++)
cout << vec[i]<< endl;
Zadanie domowe
Napisz program w C++, który zrealizuje nastepujace zadanie:
Utwórz wektor kilku Stringów, każdy składający się z:
imię
spacja
nazwisko
spacja
wiek
podawanych z klawiatury. Następnie napisz tak dalszą część
programu aby na przykładowo wczytany ciąg:
Robert Kowalczyk 35
Ania Hajduk 23
program reagował w następujący sposób:
Witaj chłopaku
Robert
. Widzę, że masz
35
lat i na nazwisko
Kowalczyk
Witaj dziewczyno
Ania
. Widzę, że masz
23
lat i na
nazwisko
Hajduk
.