This commit is contained in:
2026-03-24 16:56:38 +01:00
parent e77f5e4c03
commit de105c7e36
17 changed files with 267 additions and 3 deletions

View File

@@ -0,0 +1,10 @@
#include <iostream>
int main() {
int a;
int b = 5;
int c(6);
int d{7};
int e{};
std::cout << a << " " << b << " " << c << " " << d << " " << e << std::endl; // 0 5 6 7 0
}

View File

@@ -0,0 +1,16 @@
#include <iostream>
int main() {
int t1[3] = {1, 2, 3};
int t2[5] = {4, 5};
for (int i = 0; i < 3; i++) {
std::cout << t1[i] << std::endl; // 1 2 3
}
std::cout << std::endl;
for (int i = 0; i < 5; i++) {
std::cout << t2[i] << std::endl; // 4 5 0 0 0
}
}

View File

@@ -0,0 +1,17 @@
#include <iostream>
using namespace std;
int main() {
struct Punkt {
int x, y;
};
Punkt p1;
Punkt p2{10, 20};
Punkt p3 = {30, 40};
cout << p1.x << ' ' << p1.y; // 0 0
cout << endl;
cout << p2.x << ' ' << p2.y; // 10 20
cout << endl;
cout << p3.x << ' ' << p3.y; // 30 40
}

View File

@@ -0,0 +1,20 @@
#include <iostream>
class Prostokat {
double szer, wys;
public:
Prostokat() : szer(0), wys(0) {}
Prostokat(double a, double b) : szer(a), wys(b) {}
void pokaz() const { std::cout << szer << "x" << wys << std::endl; }
};
int main() {
Prostokat p1;
Prostokat p2(2, 3); // wywołuje konstruktor
Prostokat p3{4, 5}; // przypisuje w kolejności występowania zmiennych w ciele
// funkcji, nie pozwala na rzutowanie
p1.pokaz();
p2.pokaz();
p3.pokaz();
}

View File

@@ -0,0 +1,20 @@
#include <iostream>
#include <vector>
struct Licznik {
std::vector<int> dane;
Licznik(std::initializer_list<int> il) : dane(il) {}
void wyswietl() const {
for (int x : dane)
std::cout << x << " ";
std::cout << "\n";
}
};
int main() {
Licznik l1{1, 2, 3};
Licznik l2 = {4, 5, 6};
// Licznik l3(7, 8, 9);
l1.wyswietl(); // 1 2 3
l2.wyswietl(); // 4 5 6
}

View File

@@ -0,0 +1,4 @@
int main() {
int i1 = 3.14; // utnie część dziesiętną
int i2{3.14}; // {} nie pozwala na rzutowanie z utratą danych
}

View File

@@ -0,0 +1,34 @@
#include <iostream>
class Prostokat {
double szer, wys;
const double pole;
public:
Prostokat(double a, double b) : szer(a), wys(b), pole(a * b) {
std::cout << "Konstruktor zwykły" << std::endl;
}
Prostokat() : szer(0), wys(0), pole(0) {
std::cout << "Konstruktor domyślny" << std::endl;
}
Prostokat(Prostokat &prostokat)
: szer(prostokat.szer), wys(prostokat.szer), pole(prostokat.pole) {
std::cout << "Konstruktor kopiujący" << std::endl;
}
Prostokat &operator=(const Prostokat &prostokat) {
std::cout << "Konstruktor przypisujący";
if (this != &prostokat) {
szer = prostokat.szer;
wys = prostokat.wys;
}
return *this;
}
};
int main() {
Prostokat a(2, 3);
Prostokat b = a;
Prostokat c;
c = a;
}

View File

@@ -0,0 +1,9 @@
#include <iostream>
#include <vector>
int main() {
std::vector<int> v1(5); // vector 5 elementowy
std::vector<int> v2{5}; // vector 1 elementowy
std::vector<int> v3 = {1, 2, 3}; // vector 3 elementowy
std::cout << v1.size() << " " << v2.size() << " " << v3.size() << std::endl;
}

Binary file not shown.

View File

@@ -0,0 +1,7 @@
#include <iostream>
static int g{0}; // inicjalizacja zerem
int main() {
int n; // niezainicjalizowana zmienna - losowa wartość z pamięci
std::cout << g << " " << n;
}

View File

@@ -0,0 +1,26 @@
#include <iostream>
class Data {
int rok, miesiac, dzien;
long int czas;
public:
Data(int rok, int miesiac, int dzien)
: rok(rok), miesiac(miesiac), dzien(dzien) {}
Data() : rok(2026), miesiac(3), dzien(24) {}
Data(long int czas = 1000) {}
void pokaz() {
std::cout << rok << '-' << miesiac << '-' << dzien << std::endl;
}
};
int main() {
Data d1(2021, 12, 31);
Data d2 = {2022, 1, 15};
Data d3{};
d1.pokaz(); // 2021-12-31
d2.pokaz(); // 2022-1-15
d3.pokaz(); // dzisiejsza data
}

View File

@@ -0,0 +1,13 @@
class FloatW {
double x;
public:
explicit FloatW(double v) : x(v) {}
double get() const { return x; }
};
int main() {
FloatW a(3.14); // OK
// FloatW b = 3.14; // Błąd: explicit uniemożliwia copy-initialization
FloatW c{3.14}; // OK: jednolita inicjalizacja działa nawet z explicit
}