Lesson 04: Generic Programming and Templates
Activity 13: Read Objects from a Connection
We start by including the headers of the files that provided the connection and the user account object:
#include <iostream> #include <connection.h> #include <useraccount.h>
We can then start to write the writeObjectToConnection function. Declare a template which takes two typename parameters: an Object and a Connection. Call the static method serialize() on the object to get the std::array representing the object, then call writeNext() on the connection to write the data to it:
template<typename Object, typename Connection> void writeObjectToConnection(Connection& con, const Object& obj) { std::array<char, 100> data = Object::serialize(obj); con.writeNext(data); }
We can then write readObjectFromConnection. Declare a template taking the same two parameters as before: an Object and a Connection. Inside, we call the connection readNext() to get the data stored...