1 The Problem This assignment deals with a program places items into separate inventories. In this assignment, you will make use of inheritancee.g., virtual functions. You will need to complete the Armour and Consumable classes. 1.1 Input The program reads data from one file, items-0x.txt . Each line in this file represents one item. The first item on every line denotes the Item typethe remainder of the line varies by item type. Tool Pickaxe Diamond 100 1 Fortune 5 Potion Speed-II-Potion Spd*2 1 Food Tomato Hunger-10 2 Tool Axe Stone 10 2 Unbreaking 2 Armour Boots Diamond 100 10 Protection 3 lightning Each Item type is denoted by a keyword: Tool indicates a Tool object. Armour and Armor indicate an Armour object. Food , Potion , and Disposable indicate a Consumable object. After the leading keywords, each line has a distinct structure: The remainder of a Tool line containsin ordera name , material , durability , speed , enchantment , and enchantment level . Tool Items are not stackable . The remainder of a Armour line containsin ordera name , material , durability , defense , enchantment , enchantment level , and element . Armour Items are not stackable . The remainder of a Consumable line containsin ordera name , effect , and # uses . Consumable Items are stackable . 1.2 Output If the program is run with the first provided input file, items-01.txt, the following output should be generated: Processing Log: (S) Speed-II-Potion (S) Tomato (S) PotatoCamera (S) PotatoCamera (S) Boots (S) Boots Player Storage Summary: -Used 50% of 10 slots Nme: Speed-II-Potion Eft: Spd*2 Use: 1 Qty: 1 Nme: Tomato Eft: Hunger-10 Use: 2 Qty: 1 Nme: PotatoCamera Eft: ImageQuality-97% Use: 5 Qty: 2 Nme: Boots Dur: 100 Def: 10 Mtl: Diamond Mdr: Protection (Lvl 3) Emt: lightning Nme: Boots Dur: 100 Def: 10 Mtl: Diamond Mdr: FeatherFalling (Lvl 4) Emt: lightning Note how there is no Tool output. The Tool class is not present in this assignment. The Tool class will be part of a future assignment. Your outputincluding labels and spacingmust match the expected output. The easiest way to see generate the expected output is to run the sample executable solution I have provided. Hint – each line of output in your display functions should probably start with two leading spaces. To run this program with items-01.txt as input type: ./storage items-01.txt (On a Windows system, you would omit the ./. If you are running from Code::Blocks or a similar development environment, you may need to review how to supply command-line parameters to a running program.) 1.3 Your Tasks The key abstractions employed in this program are Item , ItemStack , Inventory Armour , and Consumable . Your overall task is to complete the Armour and Consumable ADTs. As an initial step, you will need to complete the Armour and Consumable Default Constructors: Set the stackable attributei.e., stackable . Hint Remember initializer lists? Set the name attributei.e., Item::name . The attribute, name , is a protected data member of Item . Implement Armour::clone and Consumable::clone . Implement Armour::read and Consumable::read . Implement Armour::display and Consumable::display . You are expected to generate additional input files to test your code. Test your code throughly before submitting your solution. 1.3.1 Expected Initial Error Messages If you run make without adding the missing read , clone , and display methods, you will see something simliar to /usr/bin/ld.gold: the vtable symbol may be undefined because the class is missing its key function Armour.cpp:14: error: undefined reference to ‘vtable for Armour’ /usr/bin/ld.gold: the vtable symbol may be undefined because the class is missing its key function Consumable.cpp:4: error: undefined reference to ‘vtable for Consumable’ /usr/bin/ld.gold: the vtable symbol may be undefined because the class is missing its key function Consumable.cpp:12: error: undefined reference to ‘vtable for Consumable’ /usr/bin/ld.gold: th…
Looking for solution of this Assignment?
WHY CHOOSE US?
We deliver quality original papers |
Our experts write quality original papers using academic databases.We dont use AI in our work. We refund your money if AI is detected |
Free revisions |
We offer our clients multiple free revisions just to ensure you get what you want. |
Discounted prices |
All our prices are discounted which makes it affordable to you. Use code FIRST15 to get your discount |
100% originality |
We deliver papers that are written from scratch to deliver 100% originality. Our papers are free from plagiarism and NO similarity.We have ZERO TOLERANCE TO USE OF AI |
On-time delivery |
We will deliver your paper on time even on short notice or short deadline, overnight essay or even an urgent essay |