P. 1
C++

C++

|Views: 434|Likes:
Published by satya20000

More info:

Published by: satya20000 on May 15, 2009
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

11/07/2012

pdf

text

original

|­> name
|­> phone#
|­> list of marks

Write functions average() to compute the average of  and median() to return the
"middle" mark in the list.

(4) Use the EmployeeStock definition to create a simulation of a company of employees holding
shares.  Allow the user to type in various employees from different departments.  Your program
stores EmployeeStock objects in an array.

Allow the user to enter a departmentID and the program tallies shares totals for employees of that
department.

If you want to make your program more user­friendly, encode a lookup table of department
names.  This way the user can type in a department name instead of an ID.

Use the + operator to create your total.

Copy constructor

The default copy scenario is a bitwise­copy.  All the members from one object are copied
directly to the corresponding members of another object.

All classes in C++ support a default copy constructor.  No code is required.

A copy of an object can be created in three possible ways in C++.  Two are via a construction:

EmployeeStock e1,e2=e1,e3(e2);   // e2 is an exact copy of e1,
// e3 is an exact copy of e2

The third is an indirect method when an object is passed into a function.  In the following
example, e is not passed by reference which informs the compiler to create a local copy of the
incoming object and name it e:

char* lookupEmployee(EmployeeStock e)
{

char *employeeName = employeeTable[e.id];
return (employeeName);

}

...
EmployeeStock es(45,13,12);
char *name = lookupEmployee(es);

Tip It is better to pass e by reference to avoid the bitwise
copy operation and save time.

When to supply a copy constructor

There are times when we have to write code to override the default copying mechanism.
Particularly This occurs when an object has a complex makeup.

Suppose we wanted to tag stock options onto an EmployeeStock.  We could add an options
member acting as an array.  Over the lifetime of the object, options can be added.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->