Untitled
unknown
plain_text
a year ago
1.6 kB
9
Indexable
Never
#include <array> #include <iostream> #include <string> #include "identity_document.h" #include "passport.h" #include "driving_licence.h" #include "international_driving_licence.h" #include "travel_pack.h" using namespace std; void PrintInfo(const IdentityDocument& doc) { doc.PrintID(); } void PrintInfo() { IdentityDocument::PrintUniqueIDCount(); } void PrintInfo(const Passport& pass) { pass.PrintVisa("France"s); } IdentityDocument PrintInfo(int i) { Passport pass; cout << "PrintInfo("sv << i << ")"sv << endl; pass.PrintID(); return pass; } void PrintDrivingLicence(DrivingLicence dr_lic) { dr_lic.PrintID(); } int main() { cout << "Test1"sv << endl; Passport pass; PrintInfo(pass); PrintInfo(3).PrintID(); cout << "Test2"sv << endl; array<IdentityDocument*, 3> docs = { (IdentityDocument*)(new Passport()), (IdentityDocument*)(new DrivingLicence()), (IdentityDocument*)(new Passport()) }; for (const auto* doc : docs) { doc->PrintID(); std::cout << "print" << std::endl; } std::cout << "after print" << std::endl; for (size_t i = 0; i < docs.size(); ++i) { docs[i]->Delete(); } cout << "Test3"sv << endl; array<IdentityDocument, 3> docs2 = {Passport(), DrivingLicence(), IdentityDocument()}; for (size_t i = 0; i < docs2.size(); ++i) { docs2[i].PrintID(); } PrintInfo(docs2[0]); cout << "Test4"sv << endl; IdentityDocument::PrintUniqueIDCount(); cout << "Test5"sv << endl; Passport pass2; pass2.PrintUniqueIDCount(); }