Programming Fundamentals 1: Exam 4 (Ch 11 & 13)
You must declare all data members of a class before you declare member functions. -True/False
False
You must use the private access specification for all data members of a class. -True/False
False
What is the output of the following program? #include <iostream> using namespace std; class TestClass { public: TestClass(int x) { cout << x << endl; } TestClass() { cout << Hello! << endl; } }; int main() { TestClass test; return 0; } -the program runs but there is no output. -0 -the program will not compile -Hello!
Hello!
The structure pointer operator is used to dereference a pointer to a structure, not a pointer that is a member of a structure. -True/False
True
Whereas object-oriented programming centers on the object, procedural programming centers on functions. -True/False
True
You can use the technique known as a member initialization list to initialize members of a class. -True/False
True
You cannot directly assign an integer value to an enum variable. -True/False
True
Given the following structure declaration, idNum is struct Employee { string name; int idNum; }; -a member -an array -a tag -None of these
a member
Which of the following statements outputs the value of the gpa member of element [1] of the student array? -cout << student1.gpa; -cout << firstStudent.gpa; -cout << student[1].gpa; -None of these
cout << student[1].gpa;
Which of the following assigns a value to the hourlyWage member of employee[2]? -employee[2] -> hourlyWage = 50.00; -employee2.hourlyWage = 7.50; -hourlyWage[2].employee = 29.75; -employee[2].hourlyWage = 75.00; -None of these
employee[2].hourlyWage = 75.00;
A declaration for an enumerated type begins with the ________ key word. -enumerated -enum_type -enum -ENUM -None of these
enum
Given the following declaration: enum Tree {OAK, MAPLE, PINE}; What is the value of the following relational expression? OAK > PINE -true -false -This is an error. You cannot compare enumerators with relational operators.
false
If a local variable and a global variable have the same name within the same program, the ________ resolution operator must be used. -global -None of these -scope -variable -ambiguity
scope
Which of the following is required after the closing brace of the structure definition? -square bracket -period -semicolon -colon -None of these
semicolon
What is wrong with the following code? char x = 'a', y = 'a'; if (strcmp(x,y) == 0) exit(0);
strcmp compares C-strings, not characters
Which of the following is a directive used to create an "include guard" that allows a program to be conditionally compiled to prevent a header file from accidentally being included more than once? -#include -#ifndef -#endif -None of these -#guard
#ifndef
When you dereference an object pointer, use the -None of these -& operator -dot operator --> operator
-> operator
After the following statement executes, what value will the MAPLE enumerator be stored as, in memory? enum Tree { OAK, MAPLE, PINE }; -"MAPLE" -2 -'M' -1 -1.0
1
What is the output of the following program? #include <iostream> using namespace std; class TestClass { private: TestClass(int x) { cout << x << endl; } TestClass() { cout << "Hello!" << endl; } }; int main() { TestClass test(77); return 0; } -the program will not compile -77 -the program runs but there is no output. -Hello!
77
Which of the following is an example of a C++ primitive data type? -unsigned short int -long double -unsigned char -All of these -None of these
All of these
You may use a pointer to a structure as a -function parameter -structure member -function return type -All of these -None of these
All of these
What is wrong with the following code? #include <iostream> using namespace std; struct ThreeVals { int a, b, c; }; int main() { ThreeVals vals = {1, 2, 3}; cout << vals << endl; return 0; }
An entire structure cannot be sent to cout
What is wrong with the following code? struct FourVals { int a, b, c, d; }; int main() { FourVals nums = {1, 2, , 4}; return 0; }
An initializer cannot be skipped before the end of the initialization list
You cannot directly assign an enumerator to an int variable. -True/False
False
A destructor function can have zero to many parameters. -True/False
False
A function cannot modify the members of a structure. -True/False
False
Class objects can be defined prior to the class declaration. -True/False
False
Given the structure definition shown, assume that circle1 and circle2 are variables of the Circle type and their members have been initialized. struct Circle { double centerX; double centerY; double radius; }; Then is it true or false that the following statement correctly determines whether the two variables' members contain the same data? if (circle1 == circle2) -True/False
False
In-place member initialization no longer is available in C++11. -True/False
False
It is possible to output the contents of all members of a structure variable using a cout << statement followed by the name of the structure variable. -True/False
False
The constructor function may not accept arguments. -True/False
False
The names of enumerators in an enumerated data type must be enclosed in quotation marks. -True/False
False
While a class's member functions may be overloaded, the constructor cannot be overloaded. -True/False
False
If Circle is a structure, what does the following statement do? Circle *pcirc = nullptr; -It declares an empty structure variable named *pcirc. -It declares a structure pointer called pcirc initialized with a null pointer. -The statement is illegal in C++. -It initializes a null pointer with the value of the Circle pointer. -None of these
It declares a structure pointer called pcirc initialized with a null pointer.
What is wrong with the following code? struct TwoVals { int a, b; }; int main() { TwoVals.a = 10; TwoVals.b = 20; return 0; }
No structure name has been declared. TwoVals is the structure name
The constructor function's return type is -None of these -int -float -char -structure pointer
None of these
The destructor function's return type is -float -int -None of these -Nothing; destructors have no return type -char
Nothing; destructors have no return type
What is wrong with the following code? char string1[] = "Billy"; char string2[] = " Bob Jones"; strcat(string1, string2);
The compiler will not allocate enough space in string1 to accommodate both strings
What is wrong with the following code? struct Names { string first; string last; }; int main() { Names customer = "Smith", "Orley"; cout << customer.first << endl; cout << customer.last << endl; return 0; }
The initialization of the list of the customer variable must be enclosed in braces
What is wrong with the following code? char str[] = "Stop"; if (isupper(str) == "STOP") exit(0);
The isupper function can only be used to test a character, not a string
What is wrong with the following code? struct Values { string name; int age; }
The semicolon is missing after the closing brace
Assuming that Rectangle is a class name, what can you say is TRUE, given the following statement? Rectangle *BoxPtr; -None of these -The statement defines a Rectangle pointer variable named *BoxPtr. -The statement is illegal in C++. -The statement assigns the value of *BoxPtr to the object Rectangle. -The statement declares an object of the class Rectangle.
The statement defines a Rectangle pointer variable named *BoxPtr.
What is wrong with the following code? struct { int x; float y; };
The structure declaration has no tag
A private member function is useful for tasks that are internal to the class but it is not directly called by statements outside the class. -True/False
True
A struct can contain members with varying data types. -True/False
True
Any mathematical operation that can be performed on regular C++ variables can be performed on structure members. -True/False
True
Constructor functions are often used to allocate memory that will be needed by the object. -True/False
True
Destructor functions are often used to free memory that was allocated by the object. -True/False
True
If a function is legally prototyped to return an integer value, it can return a structure member that is an integer data type. -True/False
True
If you do not declare a destructor function, the compiler will furnish one automatically. -True/False
True
In C++11 if you want to retrieve a strongly typed enumerator's underlying integer value, you must use a cast operator. -True/False
True
It is possible for a structure to contain, as a member, a pointer to its own structure type. -True/False
True
It is possible for a structure variable to be a member of another structure variable. -True/False
True
More than one constructor function may be defined for a class. -True/False
True
Structure variables may be passed as arguments to functions. -True/False
True
The expression *s->p; indicates that s is a structure pointer and p, which is also a pointer, is a member of the structure pointed to by s. -True/False
True
The expression s->m; indicates that s is a structure pointer and m is a structure member. -True/False
True
When a programmer creates an abstract data type, he or she can decide what values are acceptable for the data type, as well as what operations may be performed on the data type. -True/False
True
When an object is defined without an argument list for its constructor, the compiler automatically calls the object's default constructor. -True/False
True
When using smart pointers to dynamically allocate objects in C++ 11, it is unnecessary to delete the dynamically allocated objects because the smart pointer will automatically delete them. -True/False
True
When you use a strongly typed enumerator in C++11 you must prefix the enumerator with the name of the enum followed by the :: operator. -True/False
True
Given the following structure declaration, Employee is struct Employee { string name; int idNum; }; -a member -an array -a tag -None of these
a tag
Data types that are created by the programmer are known as -variables -abstract data types (ADTs) -functions -parameters -None of these
abstract data types (ADTs)
Which of the following describes only the general characteristics of an object? -initialization -abstraction -detailed specification -initiation -None of these
abstraction
What is wrong with the following code? char numeric[5]; int x = 123; numeric = atoi(x);
atoi converts a string to an integer, not an integer to a string
In OOP terminology, an object's member variables are often called its ________ and its member functions can be referred to as its behaviors or its ________. -None of these -attributes, methods -values, morals -data, activities -attributes, activities
attributes, methods
When a constructor has a member initialization list, the initializations take place -after any statements in the body of the constructor execute -None of these -before any statements in the body of the constructor execute -when a member is used in the execution of the program
before any statements in the body of the constructor execute
When a structure is passed ________ to a function, its members are NOT copied. -by reference -by value -Either of these -Neither of these
by reference
A structure ________ contain members of the same data type. -cannot -can -shouldn't -None of these
can
When a member function is defined outside of the class declaration, the function name must be qualified with the -private access specifier -class name, followed by a semicolon -name of the first object -class name, followed by the scope resolution operator -None of these
class name, followed by the scope resolution operator
In C++11 you can have one constructor call another constructor in the same class by using -in-place initialization -constructor delegation -None of these -a member initialization list
constructor delegation
A ________ is a member function that is automatically called when a class object is ________. -destructor, created -constructor, created -None of these -static function, deallocated -utility function, declared
constructor, created
A class is a(n) ________ that is defined by the programmer. -function -attribute -data type -None of these -method
data type
In a procedural program you typically have ________ stored in a collection of variables and a set of ________ that perform operations on the data. -data, functions -None of these -strings, operators -numbers, arguments -parameters, arguments
data, functions
Objects are created from abstract data types that encapsulate ________ and ________ together. -integers, floating-point numbers -numbers, characters -data, functions -addresses, pointers -None of these
data, functions
Before a structure can be used it must be -declared -dereferenced -initialized -All of these -None of these
declared
When a constructor function accepts no arguments, or does NOT have to accept arguments because of default arguments, it is called a(n) -default constructor -None of these -empty constructor -stand-alone function -arbitrator function
default constructor
Members of the class object are accessed with the -cin object -extraction operator -None of these -dot operator -stream insertion operator
dot operator
Passing a structure as a constant reference parameter to a function -can potentially result in changes to the structure's members -guarantees not to result in changes to the structure's members -will always change the structure's members -None of these
guarantees not to result in changes to the structure's members
The process of object-oriented analysis can be viewed as the following steps: -identify objects, then define each object's attributes, behaviors, and relationships -declare public and private variables, prototype functions, and then write code -write the main() function, then determine which classes are needed -None of these -define data members and member functions, then assign the class name
identify objects, then define each object's attributes, behaviors, and relationships
Where are class declarations usually stored? -in their own header files -None of these -in .cpp files, along with function definitions -on separate disk volumes -under pseudonyms
in their own header files
In C++11 you can use ________ to initialize a member variable in its declaration statement. -default initialization -None of these -general member initialization -in-place initialization -initialization overload
in-place initialization
The following code shows an example of ________ class Point { private: double y = 5.70; double z = 3.0; public: //Public member functions go here }; -in-place initialization -an illegal initialization -a default constructor creation -constructor delegation
in-place initialization
When the body of a member function is defined inside a class declaration, it is said to be -static -conditional -inline -None of these -global
inline
With an enumerated data type, the enumerators are stored in memory as -strings -integers -characters -doubles
integers
A function ________ return a structure. -may -may not -will always -can never -None of these
may
Assume that myCar is an instance of the Car class and that the Car class has a member function named accelerate. Which of the following is a valid call to the accelerate member function? -None of these -myCar::accelerate(); -Car -> accelerate(); -myCar.accelerate(); -myCar:accelerate();
myCar.accelerate();
How many default constructors can a class have? -None of these -any number -only one -two or more -only two
only one
If a is a structure variable and p, a pointer, is a member of the structure, what will the following statement do? cout << *a.p; -output the dereferenced value pointed to by p -result in a compiler error -output the address stored in p -output the value stored in a -None of these
output the dereferenced value pointed to by p
If you do NOT declare an access specification, the default for members of a class is -public -private -inline -None of these -global
private
Which type of member function may only be called from a function that is a member of the same class? -None of these -private -global -local -public
private
f you do NOT declare an access specification, the default for members of a class is -inline -global -None of these -public -private
private
Examples of access specifiers are the key words -near and far -None of these -table and row -opened and closed -private and public
private and public
The type of member function that may be called from a statement outside the class is -undeclared -global -private -public -None of these
public
In C++11, you can use a new type of enum known as a(n) ________ (also known as an enum class) to have multiple enumerators with the same name, within the same scope. -universal enum -auto enum -multi-cast enum -strongly typed enum -None of these
strongly typed enum
A C++ class is similar to a(n) -structure -header file -inline function -library function -None of these
structure
Objects in an array are accessed with ________. -parentheses -subscripts -output format manipulators -#include statements -None of these
subscripts
The name of a structure is referred to as its -data type -argument -parameter -tag -None of these
tag
If Circle is a structure tag, then the following statement can be the header line for a function that ________. Circle doSomething(Circle c2) -determines and returns the area of a circle -takes a Circle structure as a parameter, does something, and returns a Circle structure -operates on a constant reference to a Circle structure -takes two Circle parameters and does something -None of these
takes a Circle structure as a parameter, does something, and returns a Circle structure
A structure pointer contains -the address of a structure variable -the dereferenced address of a structure tag -the name and address of the structure tag -the address of a structure tag -None of these
the address of a structure variable
The constructor function always has the same name as -the first private data member -None of these -the class -the first public data member -the first object of the class
the class
Which of the following is automatically called when an object is destroyed? -None of these -the constructor function -the specification deallocator -the destruction function -the destructor function
the destructor function
Which of the following will allow you to access structure members? -the structure access operator -the dot operator -the #include directive -the getmember function -None of these
the dot operator
Which of the following is used to protect important data? -the protect member function -the class protection operator, @ -None of these -the public access specifier -the private access specifier
the private access specifier
What is the output of the following program? #include <iostream> using namespace std; class TestClass { private: int val; void showVal() { cout << val << endl; } public: TestClass(int x) { val = x; } }; int main() { TestClass test(77); test.showVal(); return 0; } -77 -0 -the program will not compile -the program runs but there is no output.
the program will not compile
A good reason to pass a structure as a constant reference is -to prevent changes to the structure's members -to ensure changes to the structure's members -to slow down the function's execution which helps prevent errors -to speed up the function's modification of the structure's members -None of these
to prevent changes to the structure's members
The following statement ________. bookList[2].publisher[3] = 't'; -is illegal in C++ -will change the name of the second book in bookList to 't' -will store the character 't' in the fourth element of the publisher member of bookList[2] -will result in a runtime error -None of these
will store the character 't' in the fourth element of the publisher member of bookList[2]
For the following code, which statement is NOT true? class Point { private: double y; double z; public: double x; }; -All of these are true. -x is available to code that is written outside the class. -The name of the class is Point. -z is not available to code that is written outside the class. -x, y, and z are called members of the class.
z is not available to code that is written outside the class.