#include <iostream>
#include <vector>
using namespace std;
class klasa{
public:
static int total;
int ilosc;
klasa(int n) : ilosc(n) {total += ilosc;};
//klasa(const klasa &drugi) { ilosc = drugi.ilosc; total += ilosc; };
//klasa& operator=(const klasa &drugi) { ilosc = drugi.ilosc; total += ilosc; return *this; };
~klasa() { total -= ilosc;};
};
int klasa::total = 0;
int main()
{
vector<klasa> vec;
int suma = 0;
for(int i = 100; i <= 500; i+=100)
{
suma += i;
klasa temp(i);
vec.push_back(temp);
}
cout << "Suma wrzuconych elementow: " << suma << " Rozmiar vectora: " << vec.size() << endl;
for (const auto& x : vec)
std::cout << x.ilosc << "\n";
cout << "before erase.. \n";
vec.erase(vec.begin(), vec.begin()+2);
cout << "after erase.. \n";
for (const auto& x : vec)
std::cout << x.ilosc << "\n";
cout << "vec.size() = " << vec.size() << endl;
cout << "klasa::total = " << klasa::total << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNsYXNzIGtsYXNhewogICAgcHVibGljOgogICAgICAgIHN0YXRpYyBpbnQgdG90YWw7CiAgICAgICAgCiAgICAgICAgaW50IGlsb3NjOwogICAgICAgIGtsYXNhKGludCBuKSA6IGlsb3NjKG4pIHt0b3RhbCArPSBpbG9zYzt9OwogICAgICAgIC8va2xhc2EoY29uc3Qga2xhc2EgJmRydWdpKSB7IGlsb3NjID0gZHJ1Z2kuaWxvc2M7IHRvdGFsICs9IGlsb3NjOyB9OwogICAgICAgIC8va2xhc2EmIG9wZXJhdG9yPShjb25zdCBrbGFzYSAmZHJ1Z2kpIHsgaWxvc2MgPSBkcnVnaS5pbG9zYzsgdG90YWwgKz0gaWxvc2M7IHJldHVybiAqdGhpczsgfTsKICAgICAgICB+a2xhc2EoKSB7IHRvdGFsIC09IGlsb3NjO307Cn07CgppbnQga2xhc2E6OnRvdGFsID0gMDsKCmludCBtYWluKCkKewogICAgdmVjdG9yPGtsYXNhPiB2ZWM7CiAgICAKICAgIGludCBzdW1hID0gMDsKICAgIGZvcihpbnQgaSA9IDEwMDsgaSA8PSA1MDA7IGkrPTEwMCkKICAgIHsKICAgIAlzdW1hICs9IGk7CiAgICAJa2xhc2EgdGVtcChpKTsKICAgIAl2ZWMucHVzaF9iYWNrKHRlbXApOwogICAgfQogICAgCiAgICBjb3V0IDw8ICJTdW1hIHdyenVjb255Y2ggZWxlbWVudG93OiAiIDw8IHN1bWEgPDwgIiBSb3ptaWFyIHZlY3RvcmE6ICIgPDwgdmVjLnNpemUoKSA8PCBlbmRsOwogICAgZm9yIChjb25zdCBhdXRvJiB4IDogdmVjKQogICAgCXN0ZDo6Y291dCA8PCB4Lmlsb3NjIDw8ICJcbiI7CiAgICAKICAgIGNvdXQgPDwgImJlZm9yZSBlcmFzZS4uIFxuIjsKICAgIHZlYy5lcmFzZSh2ZWMuYmVnaW4oKSwgdmVjLmJlZ2luKCkrMik7CiAgICBjb3V0IDw8ICJhZnRlciBlcmFzZS4uIFxuIjsKICAgIGZvciAoY29uc3QgYXV0byYgeCA6IHZlYykKICAgIAlzdGQ6OmNvdXQgPDwgeC5pbG9zYyA8PCAiXG4iOwogICAgCiAgICBjb3V0IDw8ICJ2ZWMuc2l6ZSgpID0gIiA8PCB2ZWMuc2l6ZSgpIDw8IGVuZGw7CiAgICBjb3V0IDw8ICJrbGFzYTo6dG90YWwgPSAiIDw8IGtsYXNhOjp0b3RhbCA8PCBlbmRsOwoJcmV0dXJuIDA7Cn0=