static Cart& GetCart();
bool AddItem(unsignedlong itemID); //check current availability of item in DB. If there, add item and return true, else return false.
bool DeleteItem(unsignedlong itemID); //return true if delete successful
unsignedlong DecreaseItemCount(unsignedlong itemID); //Decrease item copies and return current copies of this item in cart.
bool SaveToWishList(unsignedlong itemID); //save the item to wishlist
bool Checkout(); //checkout
static std::unordered_map<unsignedlong, unsignedlong> cartMap; //key is itemID and value is the number of instances of items added.
static std::unordered_set<unsignedlong> wishList; //this list contains the itemID's of the items added to wishlist.
Cart() = default;
Cart(const Cart&) = delete;
Cart(Cart&&) = delete;
Cart& operator =(const Cart&) = delete;
Cart& operator =(Cart&&) = delete;
Actually a class should have member variables. So I would suggest to think what data a class like Cart may contain. The next step would be a container for Cart. Probably a vector. This would make thinks easier.