Dwnload Full C How To Program 10th Edition Deitel Solutions Manual PDF
Dwnload Full C How To Program 10th Edition Deitel Solutions Manual PDF
Dwnload Full C How To Program 10th Edition Deitel Solutions Manual PDF
https://testbankfan.com/download/c-how-to-program-10th-edition-deitel-solutions-man
ual/
Introduction to Classes,
Objects, Member Functions
and Strings 3
Objectives
In this chapter you’ll:
■ Begin programming with the
object-oriented concepts
introduced in Section 1.8.
■ Define a class and use it to
create an object.
■ Implement a class’s behaviors
as member functions.
■ Implement a class’s attributes
as data members.
■ Call an object’s member
functions to make them
perform their tasks.
■ Access and manipulate
private data members
through their corresponding
public get and set functions
to enforce encapsulation of
the data.
■ Learn what local variables of
a member function are and
how they differ from data
members of a class.
■ Use a constructor to initialize
an object’s data.
■ Validate the data passed to a
constructor or member
function.
■ Become familiar with UML
class diagrams.
Self-Review Exercises
3.1 Fill in the blanks in each of the following:
a) Every class definition contains the keyword followed immediately by the
class’s name.
ANS: class.
b) A class definition is typically stored in a file with the filename extension.
ANS: .h.
c) Each parameter in a function header specifies both a(n) and a(n) .
ANS: type, name.
d) When each object of a class maintains its own version of an attribute, the variable that
represents the attribute is also known as a(n) .
ANS: data member.
e) Keyword public is a(n) .
ANS: access specifier.
f) Return type indicates that a function will perform a task but will not return
any information when it completes its task.
ANS: void.
g) Function from the <string> library reads characters until a newline character
is encountered, then copies those characters into the specified string.
ANS: getline.
h) Any file that uses a class can include the class’s header via a(n) preprocessing
directive.
ANS: #include.
3.2 State whether each of the following is true or false. If false, explain why.
a) By convention, function names begin with a capital letter and all subsequent words in
the name begin with a capital letter.
ANS: False. Function names begin with a lowercase letter and all subsequent words in the
name begin with a capital letter.
b) Empty parentheses following a function name in a function definition indicate that the
function does not require any parameters to perform its task.
ANS: True.
c) Data members or member functions declared with access specifier private are accessi-
ble to member functions of the class in which they’re declared.
ANS: True.
d) Variables declared in the body of a particular member function are known as data mem-
bers and can be used in all member functions of the class.
ANS: False. Such variables are local variables and can be used only in the member function
in which they’re declared.
e) Every function’s body is delimited by left and right braces ({ and }).
ANS: True.
f) The types of arguments in a function call must be consistent with the types of the cor-
responding parameters in the function’s parameter list.
ANS: True.
3.3 What is the difference between a local variable and a data member?
ANS: A local variable is declared in the body of a function and can be used only from its
declaration to the closing brace of the block in which it’s declared. A data member is
declared in a class, but not in the body of any of the class’s member functions. Every
object of a class has each of the class’s data members. Data members are accessible to
all member functions of the class.
cpphtp10_03.FM Page 3 Monday, August 1, 2016 2:14 PM
Exercises 3
3.4 Explain the purpose of a function parameter. What’s the difference between a parameter
and an argument?
ANS: A parameter represents additional information that a function requires to perform its
task. Each parameter required by a function is specified in the function header. An
argument is the value supplied in the function call. When the function is called, the
argument value is passed into the function parameter so that the function can per-
form its task.
Exercises
NOTE: Solutions to the programming exercises are located in the ch03solutions
folder.
3.5 (Default Constructor) What’s a default constructor? How are an object’s data members ini-
tialized if a class has only a default constructor defined by the compiler?
ANS: A default constructor is the constructor that is called when you create an object with-
out specifying any arguments to a constructor. You can write a default constructor
that initializes data members any way you choose. The compiler provides a default
constructor with no parameters in any class that does not explicitly include a con-
structor. The default constructor provided by the compiler creates an object without
assigning any initial values to the object’s fundamental type data members—data
members must be initialized using the object’s member functions. Every constructor
implicitly calls the constructors of any data member objects before the body of the
class’s constructor executes.
3.6 (Data Members) Explain the purpose of a data member.
ANS: A class provides a data member (or several data members) when each object of the
class must maintain data separately from all other objects of the class. For example, a
class called Account that represents a bank account provides a data member to repre-
sent the balance of the account. Each Account object maintains its own balance but
does not know the balances of the bank’s other accounts.
3.7 (Using a Class Without a using Directive) Explain how a program could use class string
without inserting a using directive.
ANS: A program could create string variables without a using declaration if each occur-
rence of the word string were prefixed by the namespace std and the binary scope
resolution operator (::), as in std::string.
3.8 (Set and Get Functions) Explain why a class might provide a set function and a get function
for a data member.
ANS: A data member is typically declared private in a class so that only the member func-
tions of the class in which the data member is declared can manipulate the variable.
A class typically provides a set function and a get function for a data member to allow
clients of the class to manipulate the data member in a controlled manner. A set func-
tion should validate the data it is setting to ensure that invalid data is not placed in
the object. A get function can return the value of a data member without allowing
clients to interact with the data member directly. In addition, set and get functions
hide the internal data representation. For example, a Time class might represent the
time as the total number of seconds since midnight. Such a class can provide member
functions getHour, getMinute and getSecond to calculate the hour, minute and sec-
ond, respectively—even if the underlying data representation does not contain hour,
minute and second data members. Similarly, a Time class could provide member func-
Another random document with
no related content on Scribd:
'Pitääkö kauhtana lämpimänsä?' Sellainen häpeä
kaupungillemme!… Siitä saatte vastata!"
"Erotkaa!"
"Poikanne?"
"Ei ole tapani peljätä", virkkoi toinen ylväästi. "Koska minun pitää
lähteä?"
"En."
"Lähden pois; minun täytyy se tehdäkin, sillä jos jään, olen iäksi
kuollut. Mutta jos olen poissa, voi käydä niinkin, että vielä kutsuvat
minut takaisin. Olaj beg on järkimies; vainajata hän ei voi mihinkään
käyttää, elävällä sitävastoin on arvoa, jos esim. tahtoo orjakauppaa
hieroa. Pahimmassa tapauksessa hän heitättää minut tyrmään.
Ainahan voi jotakin uskaltaa."
Sitten hän antoi hevoselleen uuden iskun, joka tosin oli tarkoitettu
triumvireille, mutta jonka tuo luontokappale alistuen sieti. Pureva
tuuli alkoi puhaltaa. Csalanos-lammikon takaa kuului etäistä tohinaa
ja melua: tatarien leirielämän kohua.
"On hyvä, että olette tullut hevosen selästä, sillä minä aijon heti
nousta satulaan. Tulkaa tänne muurin suojaan, mutta heti, ja
antakaa minulle viitta."
"Oletko mieletön?"
Maks vastustelihe.
Czinna kääntyi.
Beg Olaj katseli nyt viitan selkäpuolta. Sitten hän hyppäsi
satulasta, heittäytyi Czinnan eteen maahan ja suuteli kolmesti viitan
lievettä. Czinna tuijotti häneen suurilla mustilla silmillään, hän luuli
uneksivansa.
7.
"Älä lorua!"
"Todellakin!"
"Kun Olaj beg sen näki, hyppäsi hän satulasta, suuteli sen lievettä
kolme kertaa ja kysyi hyvin nöyrästi, mitä minä suvaitsin käskeä.
Minä tietysti käskin heidän heti poistua seudulta. He noudattivatkin
määräystä ja lähtivät."
Hänen hämiänsä kesti toki vain tuokion; hän oli vanha, ovela kettu,
joka osasi helposti päästä aseman herraksi.
Kun melu oli hieman hälvennyt (sillä sali oli tungokseen asti
täynnä yhteiskuntaelämän ylhäisöä), otti valkohapsinen Matteus
Puszta puheenvuoron ja ilmoitti heikolla, iltakellon kaltaisella vienolla
äänellä Lestyakin ansioista ja huudahti lopuksi:
"En ole sinulle vielä kertonutkaan, poikani, niin, koskapa siitä olisin
voinut sinulle puhuakaan, että minulla nykyisin on työssä
apulainenkin, me aherramme nyt kaksin miehin."
"Minun täytyi hänet ottaa silloin kun lähdin Budan pashan luo
neuvottelemaan. Sillä minä olen sinusta tehnyt ylituomarin, ettäs sen
nyt tiedät. (Vanhuksen silmiin tuli vihertävä hohde.) Vanha Lestyak
on mies kerrassaan, eikö?… Kisälli, sanon, haki työtä, vaikka
huomaankin, ettei hän rahtuakaan saa valmista. Minulla ei ole ollut
tilaisuutta tutkia, mihin hän pystyy. Tähän asti olen hosunut
politiikassa. Älä naura, nuori mies, taikka minä närkästyn. Nyt saat
sinä hoitaa politiikan. Suurta rotua, Lestyakien suku. Mutta kas, nyt
olemme kotona."
Vanhus huoahti:
"Minkävuoksi?"
"Sen mustalaisletukan vuoksi, jos häntä vielä muistat. Eikö keitto
olekaan hyväksi suolattu? Tuopas suolasalkkari tänne, Laczi."
"Hän väitti, että tyttö oli livistänyt teidän kanssanne, ja kunnes hän
oli palannut tai ilmoitti missä hän oli, pidättäisi hän minut vankina.
Sanoin, etten ollut sen koommin nähnyt hänen varjoaankaan."
"Syönhän jo; mutta isä, ette ole vielä kertonut loppuun Budan
seikkailua."
"Hän on hätäillyt."
"Kuka? Minäkö?"
"Et sinä, vaan pasha."
Räätäli kiljahti: