int main() { Cd c1("Beatles", "Capitol", 14, 35.5); Classic c2 = Classic("Sonata fortepianowa B-dur, Fantazja C-moll", "Alfred Brendel", "Philips", 2, 57.17); Cd * pcd = &c1; std::cout << "Direct usage of the object:\n"; c1.Report(); //uses Cd::Report() std::cout << std::endl; c2.Report(); //uses Classic::Report() std::cout << "\nUsage of pointer to Cd:\n"; pcd->Report(); //Cd::Report std::cout << std::endl; pcd = &c2; pcd->Report(); //Classic::Report() std::cout << "\nCalling a function with an argument as a reference to Cd type:\n"; Bravo(c1); std::cout << std::endl; Bravo(c2); std::cout << "\nAssignment test:\n"; Classic copy; copy = c2; copy.Report(); return 0; }
int main() { Cd c1("Beatles", "Capitol", 14, 35.5); Classic c2 = Classic("Piano Sonata in B flat, Fantasia in C", "Alfred Brendel", "Philips", 2, 57.17); Cd *pcd = &c1; cout << "Using object directly:\n"; c1.Report(); // use Cd method c2.Report(); // use Classic method cout << "Using type cd * pointer to objects:\n"; pcd->Report(); // use Cd method for cd object pcd = &c2; pcd->Report(); // use Classic method for classic object cout << "Calling a function with a Cd reference argument:\n"; Bravo(c1); Bravo(c2); cout << "Testing assignment:"; Classic copy; copy = c2; copy.Report(); cin.get(); cin.get(); return 0; }