From 87b488b86211b73eeb5bdcc27163c11ea24f3a02 Mon Sep 17 00:00:00 2001 From: ReallyWeirdCat <94784134+ReallyWeirdCat@users.noreply.github.com> Date: Sun, 14 May 2023 14:04:02 +0300 Subject: [PATCH] Add files via upload --- "\320\237\320\24014/3/main.cpp" | 15 +++++++++++++++ "\320\237\320\24014/3/setgetter.h" | 23 +++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 "\320\237\320\24014/3/main.cpp" create mode 100644 "\320\237\320\24014/3/setgetter.h" diff --git "a/\320\237\320\24014/3/main.cpp" "b/\320\237\320\24014/3/main.cpp" new file mode 100644 index 0000000..4cca757 --- /dev/null +++ "b/\320\237\320\24014/3/main.cpp" @@ -0,0 +1,15 @@ +#include "setgetter.h" +#include +#include + +int main() +{ + std::set numeros; + std::cout << "got: " << setgetter::get(numeros) << std::endl; + + + numeros.insert(3); + std::cout << "added 3;" << std::endl; + std::cout << "got: " << setgetter::get(numeros) << std::endl; + +} \ No newline at end of file diff --git "a/\320\237\320\24014/3/setgetter.h" "b/\320\237\320\24014/3/setgetter.h" new file mode 100644 index 0000000..3e2bcb7 --- /dev/null +++ "b/\320\237\320\24014/3/setgetter.h" @@ -0,0 +1,23 @@ +#pragma once +#include +#include +#include + + +class setgetter +{ +public: + template + static T get(std::set set) + { + try { + if (set.begin() == set.end()) throw std::out_of_range("Out of range"); + return *set.begin(); + } + catch (std::out_of_range& e) + { + std::cout << e.what() << std::endl; + return T(); + } + } +};