Source File: ex54.cpp

#include <fmt/core.h>
#include <chrono>
#include <thread>
#include <string>
#include <memory>

using std::shared_ptr, std::make_shared;

namespace Person {
  // NOTE: not too sure about this, needs some thought
  struct Person {
    std::string name;
    int age{0};
  };

  shared_ptr<Person> create(const std::string& name, int age) {
    return make_shared<Person>(name, age);
  }
}

int main(int argc, char* argv[]) {
  auto zed = Person::create("Zed", 51);
}