background image

Klasy

 

String i Vector

Zajęcia 9

background image

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;

background image

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] << " ";

background image

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;

background image

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;

background image

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

.


Document Outline