Exemple #1
0
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;
}