From 385967d3b8732ceec81a8576f09eccca9a514839 Mon Sep 17 00:00:00 2001 From: Sasza Stanczew Date: Fri, 26 Apr 2024 16:03:17 +0200 Subject: [PATCH] =?UTF-8?q?AdvC++=20-=20converter=20zrobiony=20przez=20wyk?= =?UTF-8?q?=C5=82adowc=C4=99=20bo=20brak=20czasu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../exercises/converter/converter.cpp | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/AdvancedCppV2/Presentation/exercises/converter/converter.cpp b/AdvancedCppV2/Presentation/exercises/converter/converter.cpp index 8e7d424..6fca223 100644 --- a/AdvancedCppV2/Presentation/exercises/converter/converter.cpp +++ b/AdvancedCppV2/Presentation/exercises/converter/converter.cpp @@ -16,20 +16,20 @@ private: class Converter { public: - virtual void Convert(Resource* resource) = 0; + virtual void Convert(const Resource& resource) = 0; }; class CurlyBracketConverter : public Converter { public: - virtual void Convert(Resource* resource) { - std::cout << "{" << resource->str() << "}\n"; + virtual void Convert(const Resource& resource) { + std::cout << "{" << resource.str() << "}\n"; } }; class SquareBracketConverter : public Converter { public: - virtual void Convert(Resource* resource) { - std::cout << "[" << resource->str() << "]\n"; + virtual void Convert(const Resource& resource) { + std::cout << "[" << resource.str() << "]\n"; } }; @@ -37,7 +37,7 @@ class Printer { public: Printer(Converter* converter): converter_(converter) {} - void Print(Resource* resource) { + void Print(const Resource& resource) { converter_->Convert(resource); } @@ -46,14 +46,12 @@ private: }; int main() { - Resource* resource = new Resource("Ala has a cat"); + auto resource = std::make_unique("Ala has a cat"); Printer printer(new SquareBracketConverter{}); Printer printer2(new CurlyBracketConverter{}); - printer.Print(resource); - printer2.Print(resource); - - delete resource; + printer.Print(*resource); + printer2.Print(*resource); return 0; }