Professional Documents
Culture Documents
TRUE/FALSE
1. A struct variable is declared differently from a predefined type such as an int.
ANSWER: FALSE
2. Two different structure definitions may have the same member names.
ANSWER: TRUE.
3. A structure can only be passed to a function as a call-by-value parameter
ANSWER: FALSE
4. A function may return a structure.
ANSWER: TRUE
5. Different class may not have member functions with the same name.
ANSWER: FALSE
6. A class member function may be private.
ANSWER: TRUE
7. Class data members are almost always public.
ANSWER: FALSE
8. It is possible to have multiple private labels in a class definition.
ANSWER: TRUE
9. The assignment operator may not be used with objects of a class.
ANSWER: FALSE
10. All constructors for a class must be private.
ANSWER: FALSE
11. A derived class is more specific than its parent, or base class.
ANSWER: TRUE
Short Answer
1. The keyword ________ defines a structure type definition.
ANSWER: struct
2. A structure definition ends with the closing brace and a _________.
ANSWER: semicolon
3. A structure variable is a collection of smaller values called ____________ values
ANSWER: member
4. When a structure contains another structure variable as one of its members, it is
known as a ___________________.
ANSWER: hierarchical structure
5. When several items (variables or variables and functions) are grouped together
into a single package, that is known as ______________.
ANSWER: (data) encapsulation
6. The double colon (::) is known as the __________ operator.
ANSWER: scope resolution operator
7. Who can access private members in a class?
ANSWER: only other members of the class
8. A member function that allows the user of the class to find out the value of a
private data type is called a ___________________.
ANSWER: accessor function.
9. A member function that allows the user of the class to change the value of a
private data type is called a ____________________.
Test Bank for Problem Solving with C++: The Object of Programming, 10/e
Chapter 10 Defining Classes
Multiple Choice
1. In a structure definition, the identifiers declared in the braces are called
a. classes
b. structs
c. member names
d. variables
ANSWER: C
2. You specify an individual member of a struct by using
a. the assignment operator
b. an ampersand
c. an underscore
d. The dot operator
Test Bank for Problem Solving with C++: The Object of Programming, 10/e
Chapter 10 Defining Classes
ANSWER: D
3. To assign values to a structure variable, you use the
a. equals operator
b. assignment operator
c. extraction operator
d. less than operator
ANSWER: B
4. What is wrong with the following structure definition?
struct MyStruct
{
int size;
float weight;
}
a. Nothing
b. Can not have mixed data types in a structure
c. missing semicolon
d. Braces are not needed.
ANSWER: C
5. Given the following strucure definitions, what is the correct way to print the
person's birth year?
struct DateType
{
int day;
int month;
int year;
}
struct PersonType
{
int age;
float weight;
DateType birthday;
}
PersonType person;
a. cout << person.birthday.year;
b. cout << year;
c. cout << birthday.year;
d. cout << peson.year;
ANSWER: A
6. Given the following strucure definition, what is the correct way to initialize a
variable called today?
struct DateType
{
int day;
int month;
Test Bank for Problem Solving with C++: The Object of Programming, 10/e
Chapter 10 Defining Classes
int year;
}
a. DateType today(1,1,2000);
b. DateType today = (1,1,2000);
c. DateType today = {1,1,2000);
d. DateType today = {1,1,2000,0);
ANSWER: C
7. When defining a class, the class should be composed of the kind of values a
variable of the class can contain, and
a. member functions for that class
b. the keyword private
c. other class definitions
d. nothing else
ANSWER: A
8. Which of the following is the correct function definition header for the getAge
function which is a member of the Person class?
a. int getAge();
b. int getAge()
c. int Person:getAge()
d. int Person::getAge()
ANSWER: D
9. Given the following class definition and the following member function header,
which is the correct way to output the private data?
class Person
{
public:
void outputPerson(ostream& out);
private:
int age;
float weight;
int id;
};
ANSWER: B
17. given the following class definition, how could you use the constructor to assign
values to an object of this class?
class CDAccount
{
public:
CDAccount();
CDAccount(float interest, float newBalance);
float getBalance();
float getRate();
void setRate(float interest);
void setBalance(float newBalance);
private:
float balance, rate;
};
public:
ItemClass();
ItemClass(int newSize, float newCost);
int getSize();
float getCost();
void setSize(int newSize);
void setCost(float newCost);
private:
int size;
float cost;
};
a. ItemClass() myItem;
b. ItemClass myItem(1, 0.0);
c. ItemClass myItem;
d. ItemClass myItem();
e. You can not do this
ANSWER: C
20. A data type consisting of data members and operations on those members which
can be used by a programmer without knowing the implementation details of the
data type is called
a. an abstract definition type
b. an available data type
c. an abstract data type
d. a primitive data type
ANSWER: C
21. Which part of the ADT tells the programmer using it how to use it?
a. the implementation
b. the interface
c. the abstractness
d. the scope resolution
ANSWER: B
22. If you are designing a class for an ADT, you can tell if the class is an ADT if
a. when you change the implementation of the class, none of the rest of the
program needs to change.
b. when you change the interface of the class, nothing else needs to change.
c. you change the privte part and the rest of the program using the ADT does
not compile.
d. everything must be changed.
ANSWER: A
23. Developing an ADT means that the user of your class does not have to know the
details about how the class is implemented. This is known as
a. interface
b. implementation
c. testing and debugging
d. information hiding
ANSWER: D
Test Bank for Problem Solving with C++: The Object of Programming, 10/e
Chapter 10 Defining Classes
24. Given the following class, what would be the best declaration for a mutator
function that allows the user of the class to change the age?
class Wine
{
public:
Wine();
int getAge();
float getCost();
private:
int age;
float cost;
}
a. int getAge(int newAge);
b. Wine();
c. void setAge();
d. void setAge(int newAge);
ANSWER: D
25. Given the following class, what would be the best declaration for a constructor
that would allow the user to initialize the object with an initial age and cost?
class Wine
{
public:
Wine();
int getAge();
float getCost();
private:
int age;
float cost;
}
a. int getAge(int newAge);
b. Wine();
c. Wine(int age);
d. Wine(int newAge, float newCost);
ANSWER: D
26. Given the following class and object declaration, how would you print out the age
and cost of a bottle of wine?
class Wine
{
public:
Wine();
int getAge();
float getCost();
private:
Test Bank for Problem Solving with C++: The Object of Programming, 10/e
Chapter 10 Defining Classes
int age;
float cost;
}
Wine bottle;
a. cout << bottle;
b. cout << Wine.age, Wine.cost;
c. cout << bottle.getAge() << bottle.getCost();
d. cout << bottle.getAge << bottle.getCost;
e. cout << bottle.age << bottle.cost;
ANSWER: C
27. Data members or member functions of a class that are declared to be private may
a. only be accessed by the main program
b. only be accessed by members of the class
c. not be accessed by the class
d. are considered to be global variables
ANSWER:B
28. Member functions of a class
a. may not be in the private section
b. must be in the private section
c. may be in either section
d. can not be called in the main program
ANSWER: C
29. In a struct, all members are ____________ by default
a. public
b. private
c. global
d. all of the above
ANSWER: A
30. In a class, all members are ____________ by default
a. public
b. private
c. global
d. all of the above
ANSWER: B
31. Which of the following function declarations will correctly pass an output stream
to the function?
a. void display( ofstream& out);
b. void display( ostream out);
c. void display( ostream& out);
d. void display( ofstream out);
e. A and C
f. B and D
ANSWER: E
32. A derived class has access to
a. the private functions and variables of its ancestor classes
Test Bank for Problem Solving with C++: The Object of Programming, 10/e
Chapter 10 Defining Classes