Warning
This page is located in archive.

3 - Dědičnost, přetížení operátorů

Jednoduchá dědičnost

#include <iostream>
 
class TridaA
{
	protected:
		virtual void metoda ()
		{
			std::cout << "metoda A" << std::endl;
		}
 
	public:
		void run ()
		{
			metoda ();
		}
};
 
class TridaB : public TridaA
{
	protected:
		void metoda ()
		{
			std::cout << "metoda B" << std::endl;
		}
};
 
int main ()
{
	TridaA a;
	a.run ();
 
	TridaB b;
	b.run ();
 
	return 0;
}

Přetížení operátoru - komplexní čísla

#include <iostream>
 
using namespace std;
 
struct complex 
{
    double re, im;
};
 
complex operator+ (complex a, complex b)
{
    complex tmp;
 
    tmp.re = a.re + b.re;
    tmp.im = a.im + b.im;
 
    return tmp;
}
 
ostream & operator<< (ostream &vstup, complex x)
{
    vstup << x.re << " + j" << x.im << endl;
    return vstup;
}
 
int main ()
{
 
    complex X = {2.3, 4.8};
    complex Y = {3.2, 8.4};
    complex Z;
 
    Z = X + Y;
 
    std::cout << Z.re << " + j" << Z.im << std::endl;
 
    cout << Z;
 
    return 0;
}

Práce se soubory - exceptions

#include <iostream>
#include <fstream>
 
int main ()
{
 
	std::ifstream file;
 
	file.exceptions (std::ifstream::failbit | std::ifstream::badbit);
 
	try
	{
		// potencialne rizikovy kod - muze ukoncit beh programu
		file.open ("text.txt");
		while (!file.eof()) file.get();
		file.close();
	}
	catch (std::ifstream::failure e)
	{
		// kod, ktery osetruje vyjimku
		std::cout << "I/O chyba pri praci se souborem" << std::endl;
		std::cout << e.what() << std::endl;
	}
 
	std::cout << "beh programu dale pokracuje" << std::endl;
 
	return 0;
}

</code>

courses/bd5b37ppc/tutorials/03.txt · Last modified: 2019/10/03 20:47 by viteks