/*
CS371p: Quiz #15 (5 pts)
*/
/* -----------------------------------------------------------------------
1. What is the output of the following program?
(4 pts)
A()
A(A) A(A) A(A) A(A) A(A) A(A) A(A) A(A)
push back
A(A) A(A) A(A) A(A) ~A() ~A() ~A()
assignment
=(A) =(A) =(A) =(A) A(A)
~A() ~A() ~A() ~A() ~A() ~A() ~A() ~A() ~A() ~A() ~A()
*/
#include <iostream> // cout, endl
#include <vector> // vector
using namespace std;
struct A {
A () {
cout << "A() ";}
A (const A&) {
cout << "A(A) ";}
~A () {
cout << "~A() ";}
A& operator = (const A&) {
cout << "=(A) ";
return *this;}};
int main () {
{
A x;
cout << endl;
vector<A> y(5, x);
vector<A> z(3, x);
cout << endl << endl;
cout << "push back" << endl;
z.push_back(x); // (2 pts)
cout << endl << endl;
cout << "assignment" << endl;
z = y; // (2 pts)
cout << endl << endl;
}
cout << endl;
return 0;}
syntax highlighted by Code2HTML, v. 0.9.1