diff --git a/CM2005 Object Oriented Programming/Topic 2/2.3.9/a.exe b/CM2005 Object Oriented Programming/Topic 2/2.3.9/a.exe new file mode 100644 index 0000000..6f3266b Binary files /dev/null and b/CM2005 Object Oriented Programming/Topic 2/2.3.9/a.exe differ diff --git a/CM2005 Object Oriented Programming/Topic 2/2.3.9/main.cpp b/CM2005 Object Oriented Programming/Topic 2/2.3.9/main.cpp new file mode 100644 index 0000000..f543a21 --- /dev/null +++ b/CM2005 Object Oriented Programming/Topic 2/2.3.9/main.cpp @@ -0,0 +1,55 @@ +#include +#include +#include + +enum class OrderBookType +{ + bid, + ask +}; + +// We add a constructor with an initialization list : +// This is mor effecient because it doesn't copy but assigns the data right away. +class OrderBookEntry +{ + public: + OrderBookEntry + ( + double price, + double amount, + std::string timestamp, + std::string product, + OrderBookType orderType + ) + : price{price}, + amount(amount), + timestamp(timestamp), + product(product), + orderType(orderType) + // can use parenthesis or curly braces + { + + } + double price; + double amount; + std::string timestamp; + std::string product; + OrderBookType orderType; +}; + +int main() +{ + + std::vector orders; + + + OrderBookEntry order1{ 10000, + 0.002, + "2020/03/17 17:01:24.884492", + "BTC/USDT", + OrderBookType::bid}; + orders.push_back(order1); + orders.push_back(order1); + std::cout << orders[0].price << std::endl; + std::cout << orders[1].price << std::endl; +} \ No newline at end of file