Класс Lock.

Рубрика: C++, Дата: 15 April, 2013, Автор:

Напишите класс Lock (блокировка) для некоторой системы с параллельным выполнением.

Опять не ясная задачка. Как же нам ее решать? Я параллельное выполнение не знаю, что это такое, поэтому я от думаю просто создать класс Lock в котором как бы записать пароль и создать функцию проверки в котором будет вводиться пароль. Если пароль не правильно введен, то просто с генерирую исключение, если правильно, то другое исключение, приветствие пользователя. Как бы такая мини авторизация. Просто тупо типо по паролю.

Вот, что я придумал:

//klacc Lock
#include <iostream>
using std::cout;
using std::endl;
using std::cin;

class Lock
{
	int pass;
public:
	class LockEx
	{
	public:
		virtual void print(){};
	};
	class Privet : public LockEx
	{
		void print()
		{
			cout <<"Privet tovarich vu prowli avtorizaciyu"<<endl;
			throw;
		}
	};
	class NoPass : public LockEx
	{
		void print(){cout <<"Parol6 ne veren"<<endl;}
	};
	
	//konctryktor preobrazovani9
	Lock(int p):pass(p){}
	
	bool eq(int p)
	{
		if(p==pass)
			throw Privet();
		else
			throw NoPass();
	}
};

int main()
{
	try
	{
		Lock p(3334);
		int pass;
	
		while(pass>0)
		{
			try
			{
				cout <<"vvedite parol6 ";
				cin >>pass;
				p.eq(pass);
			}
			catch(Lock::LockEx& e)
			{
				e.print();
			}
		}
	}
	catch(...)
	{
		cout <<"konec"<<endl;
	}
	
	return 0;
}

Мне как то не сильно охота объяснять по этому коду. Как то мне кажется ч то и так все ясно.

[youtube]http://www.youtube.com/watch?v=m2Nf3X3FlGk[/youtube]

  • Evgeny

    Господи боже мой. Lock (блокировка) означает механизм синхронизации, как из одного потока управлять выполнением другого (останавливать, запускать).

    • admin_kselax

      Ну я новичок до этого еще не дошол.

rss