Yurttas/PL/OOL/Cplusplus/F/03/02/01/00/04/s 02.cpp

 1/*
 2   Copyright(C) 1998
 3   All Rights Reserved. Salih Yurttas, ZCubes, BitsOfCode Software Systems, Inc..
 4
 5   Permission to use, copy, modify, and distribute this
 6   software and its documentation for EDUCATIONAL purposes
 7   and without fee is hereby granted provided that this
 8   copyright notice appears in all copies.
 9
10   date   : January 1, 1998.
11   author : Salih Yurttas.
12
13   s_02.cpp
14*/
15
16
17#include <iostream>
18
19using namespace std;
20
21#include "S.h"
22
23int main(int argc, char* argv[]) {
24
25  S s_0("Apple");
26
27  cout << "initial values after default construction-S() /" << endl;
28  cout << "s_0 : ";
29  cout << s_0 << endl;
30  cout << endl;
31
32{ // open a new scope
33
34  S s_1("Orange");
35
36  cout << "initial values after default construction-S() /" << endl;
37  cout << "s_1 : ";
38  cout << s_1 << endl;
39  cout << endl;
40
41  s_0 = s_1; // C++ provides = as memberwise assignment(default)
42             // actually, bitwise copy of s_0.s to s_1.s
43
44  cout << "after s_0=s_1 /" << endl;
45  cout << "s_0 : ";
46  cout << s_0 << endl;
47  cout << endl;
48
49  cout << "after s_0=s_1 /" << endl;
50  cout << "s_1 : ";
51  cout << s_1 << endl;
52  cout << endl;
53
54}
55
56  S s_2 = s_0;
57
58  cout << "after s_2=s_0 /" << endl;
59  cout << "s_2 : ";
60  cout << s_2 << endl;
61  cout << endl;
62
63  cout << "after s_2=s_0 /" << endl;
64  cout << "s_0 : ";
65  cout << s_0 << endl;
66  cout << endl;
67
68}