From 5010475a2f39a9a94f5dbda0ea46fae1480f0ad8 Mon Sep 17 00:00:00 2001 From: Emily Bache Date: Sun, 15 Jan 2012 20:30:31 +0100 Subject: [PATCH] C++ version with a vector to hold the items. --- GildedRose/cpp/GildedRose.cc | 58 ++++++++++++++++++++---------------- 1 file changed, 32 insertions(+), 26 deletions(-) diff --git a/GildedRose/cpp/GildedRose.cc b/GildedRose/cpp/GildedRose.cc index fa001b07..c3ebb814 100644 --- a/GildedRose/cpp/GildedRose.cc +++ b/GildedRose/cpp/GildedRose.cc @@ -1,30 +1,29 @@ #include -void example() +#include + +using namespace std; + +class Item { - std::list items = new std::list(); - items.push_back(new Item("+5 Dexterity Vest", 10, 20)); - items.push_back(new Item("Aged Brie", 2, 0)); - items.push_back(new Item("Elixir of the Mongoose", 5, 7)); - items.push_back(new Item("Sulfuras, Hand of Ragnaros", 0, 80)); - items.push_back(new Item("Backstage passes to a TAFKAL80ETC concert", 15, 20)); - items.push_back(new Item("Conjured Mana Cake", 3, 6)); - GildedRose app = new GildedRose(items); - app.updateQuality(); -} +public: + string name; + int sellIn; + int quality; + Item(string name, int sellIn, int quality) : name(name), sellIn(sellIn), quality(quality) + {} +}; class GildedRose { public: - std::list items; - GildedRose(std::list items) - { - this.items = items; - } + vector items; + GildedRose(vector items) : items (items) + {} void updateQuality() { - for (int i = 0; i < items.length; i++) + for (int i = 0; i < items.size(); i++) { if (items[i].name != "Aged Brie" && items[i].name != "Backstage passes to a TAFKAL80ETC concert") { @@ -99,18 +98,25 @@ public: } }; -class Item + +void example() { -public: - std::string name; - int sellIn; - int quality; -}; + vector items; + items.push_back(Item("+5 Dexterity Vest", 10, 20)); + items.push_back(Item("Aged Brie", 2, 0)); + items.push_back(Item("Elixir of the Mongoose", 5, 7)); + items.push_back(Item("Sulfuras, Hand of Ragnaros", 0, 80)); + items.push_back(Item("Backstage passes to a TAFKAL80ETC concert", 15, 20)); + items.push_back(Item("Conjured Mana Cake", 3, 6)); + GildedRose app(items); + app.updateQuality(); +} + TEST(GildedRoseTest, Foo) { - std::list items = new std::list(); - items.push_back(new Item("Foo", 0, 0)); - GildedRose app = new GildedRose(items); + vector items; + items.push_back(Item("Foo", 0, 0)); + GildedRose app(items); app.updateQuality(); EXPECT_EQ("fixme", app.items[0].name); }