Snippets

d9k Wskaźniki 1

Created by d9k

File snippet.cpp Added

  • Ignore whitespace
  • Hide word diff
+#include "stdafx.h"
+#include <iostream>
+using namespace std;
+
+static void Referencja()
+{
+	int zmiennaInt1 = 1;
+	cout << zmiennaInt1 << endl; //1
+
+	int &referencja = zmiennaInt1;
+	cout << zmiennaInt1 << endl; // 1
+	referencja = 2;
+	cout << referencja << endl; // wypisuje 2
+	cout << zmiennaInt1 << endl; // wypisuje 2. Wartość zmiennej zmiennaInt1 została podmieniona.
+}
+
+static void Wskaznik()
+{
+	int zmiennaInt1 = 1;
+	int zmiennaInt2 = 2;
+	cout << zmiennaInt1 << endl; //1
+	cout << zmiennaInt2 << endl; //2
+
+	int* wskaznikNaInt = NULL;
+	cout << wskaznikNaInt << endl; //wartością wskaznikNaInt jest adres: 00000000
+	//cout << *wskaznikNaInt << endl; //WYJATEK. Wskaznik nie byl inicjalizowany.
+
+	wskaznikNaInt = &zmiennaInt1; //wartością wskaznikNaInt jest adres, gdzie znajduje sie zmiennaInt1 
+	cout << wskaznikNaInt << endl; //adres zmiennaInt1, tu: 002BFBC4
+	cout << *wskaznikNaInt << endl; //wyluskanie wartosci spod adresu. Wynik: 1
+
+	wskaznikNaInt = &zmiennaInt2; //wartością wskaznikNaInt jest adres, gdzie znajduje sie zmiennaInt2 
+	cout << wskaznikNaInt << endl; //adres zmiennaInt2, tu: 002BFBB8
+	cout << *wskaznikNaInt << endl; //wyluskanie wartosci spod adresu. Wynik: 2
+}
+
+static void Operatory()
+{
+	int zmiennaInt1 = 1;
+	cout << "zmiennaInt1=" << zmiennaInt1 << endl; // 1
+												   //cout << *zmiennaInt1 << endl; // nie da sie
+	cout << "&zmiennaInt1=" << &zmiennaInt1 << endl; // adres 0044F9D8.
+
+	int &referencja = zmiennaInt1;
+	cout << "referencja=" << referencja << endl; // 1
+												 //cout << *referencja << endl; // nie da sie
+	cout << "&referencja=" << &referencja << endl; // 0044F9D8 - ten sam adres, co adres &zmiennaInt1
+
+	int *wskaznikNaInt;
+	wskaznikNaInt = &zmiennaInt1;
+	cout << "wskaznikNaInt=" << wskaznikNaInt << endl; // adres 0044F9D8
+	cout << "*wskaznikNaInt=" << *wskaznikNaInt << endl; // 1
+	cout << "&wskaznikNaInt=" << &wskaznikNaInt << endl; // adres 0044F9D8
+}
+
+class Klasa
+{
+public:
+	Klasa();
+	Klasa(int i);
+	Klasa(const Klasa& klasa);
+	~Klasa();
+	int sth;
+};
+
+Klasa::Klasa()
+{
+	sth = 0;
+	cout << "Konstruktor()" << endl;
+}
+
+Klasa::Klasa(int i)
+{
+	sth = i;
+	cout << "Konstruktor parametrowy (" << i << ")" << endl;
+}
+
+Klasa::Klasa(const Klasa & klasa)
+{
+	sth = klasa.sth;
+	cout << "Konstruktor kopiujący." << endl;
+}
+
+Klasa::~Klasa()
+{
+	cout << "Destruktor klasy z parametrem " << sth << endl;
+}
+
+static void WskaznikiKlasowe()
+{
+	cout << "Wskazniki typu klasowego: " << endl;
+	
+	Klasa * wskaznikTypuKlasowego = new Klasa;
+	delete wskaznikTypuKlasowego;
+
+	Klasa * wskaznikTypuKlasowego2 = new Klasa(5);
+	delete wskaznikTypuKlasowego2;
+
+	cout << endl << "Zmienne typu klasowego: " << endl;
+
+	Klasa zmiennaTypuKlasowego;
+
+	Klasa zmiennaTypuKlasowego2(2);
+}
+
+int main()
+{
+	WskaznikiKlasowe();
+	return 0;
+}
HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.