From 9c624065bb8e3bf503fc9dcd895fe55837165897 Mon Sep 17 00:00:00 2001 From: Martin Brodbeck Date: Thu, 12 Jul 2018 14:37:56 +0200 Subject: [PATCH] more on pointers --- src/core/article.cpp | 8 +++++--- src/core/article.h | 11 ++++++----- test/test_article.cpp | 2 +- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/core/article.cpp b/src/core/article.cpp index b798fbb..74c00d9 100644 --- a/src/core/article.cpp +++ b/src/core/article.cpp @@ -2,7 +2,7 @@ Article::Article() : Entity() {} -Article::Article(std::shared_ptr sellerPtr) : Entity() { sellerPtr_ = sellerPtr; } +// Article::Article(std::shared_ptr sellerPtr) : Entity() { sellerPtr_ = sellerPtr; } void Article::setArticleNo(int articleNo) { articleNo_ = articleNo; } @@ -10,12 +10,14 @@ void Article::setPrice(int price) { price_ = price; } void Article::setDescription(const std::string& description) { description_ = description; } -void Article::setSale(std::shared_ptr salePtr) { salePtr_ = salePtr; } +void Article::setSale(Sale* salePtr) { salePtr_ = salePtr; } + +void Article::setSeller(Seller* sellerPtr) { sellerPtr_ = sellerPtr; } bool Article::isSold() { return salePtr_ ? true : false; } std::string Article::getDescription() { return description_; } -Seller* Article::getSeller() { return sellerPtr_.get(); } +Seller* Article::getSeller() { return sellerPtr_; } int Article::getPrice() { return price_; } \ No newline at end of file diff --git a/src/core/article.h b/src/core/article.h index 03ceaf0..5c78b80 100644 --- a/src/core/article.h +++ b/src/core/article.h @@ -15,21 +15,22 @@ class Article : public Entity { public: Article(); - Article(std::shared_ptr sellerPtr); + //Article(std::shared_ptr sellerPtr); void setArticleNo(int articleNo); void setPrice(int price); void setDescription(const std::string& description); bool isSold(); - void setSale(std::shared_ptr salePtr); - void setSeller(std::shared_ptr sellerPtr); + void setSale(Sale* salePtr); + //void setSeller(std::shared_ptr sellerPtr); + void setSeller(Seller* sellerPtr); std::string getDescription(); Seller* getSeller(); int getPrice(); private: - std::shared_ptr sellerPtr_{}; - std::shared_ptr salePtr_{}; + Seller* sellerPtr_{}; + Sale* salePtr_{}; int articleNo_{}; int price_{}; std::string description_{}; diff --git a/test/test_article.cpp b/test/test_article.cpp index e0792ad..611fc5b 100644 --- a/test/test_article.cpp +++ b/test/test_article.cpp @@ -16,6 +16,6 @@ BOOST_AUTO_TEST_CASE(check_is_sold) BOOST_TEST(article.isSold() == false); auto salePtr = std::make_shared(); - article.setSale(salePtr); + article.setSale(salePtr.get()); BOOST_TEST(article.isSold() == true); } \ No newline at end of file