Exam 2 COSC(11,12,13)

Ace your homework & exams now with Quizwiz!

To access files from a C++ program, you must use this directive:

#include <fstream>

17) Members of a class object are accessed with the ________. A) dot operator B) cin object C) extraction operator D) stream insertion operator E) None of these

A

31) Look at the following structure declaration. struct Employee { string name; int idNum; }; In this declaration, idNum is: A) a member B) an array C) a tag D) None of these

A

13) This type of member function may be called from a statement outside the class. A) public B) private C) undeclared D) global E) None of these

A

14) Before a structure can be used, it must be ________. A) declared B) dereferenced C) initialized D) All of these E) None of these

A

16) A class is a(n) ________ that is defined by the programmer. A) data type B) function C) method D) attribute E) None of these

A

17) A function ________ return a structure. A) may B) may not C) will always D) cannot possibly E) None of these

A

18) A structure pointer contains ________. A) the address of a structure variable B) the dereferenced address of a structure tag C) the name and address of the structure tag D) the address of a structure tag E) None of these

A

19) When you dereference an object pointer, use the ________. A) -> operator B) <> operator C) dot operator D) & operator E) None of these

A

20) 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; A) Output the dereferenced value pointed to by p. B) Result in a compiler error. C) Output the address stored in p. D) Output the value stored in a. E) None of these

A

23) A class may have this many default constructor(s). A) only one B) more than one C) a maximum of two D) any number E) None of these

A

24) A good reason to pass a structure as a constant reference is ________. A) to prevent changes to the structure members B) to ensure changes to the structure members C) to slow down the function's execution, preventing errors D) to speed up the function's modification of the structure members E) None of these

A

24) Objects in an array are accessed with ________, just like any other data type in an array. A) subscripts B) parentheses C) #include statements D) output format manipulators E) None of these

A

25) The process of object-oriented analysis can be viewed as the following steps: A) Identify objects, then define objects' attributes, behaviors, and relationships B) Define data members and member functions, then assign a class name C) Declare private and public variables, prototype functions, then write code D) Write the main() function, then determine which classes are needed E) None of these

A

5) When a structure is passed ________ to a function, its members are not copied. A) by reference B) by value C) Neither of these

A

8) Members of a(n) ________ union have names, but the union itself has no name. A) anonymous B) dereferenced C) organized D) declared E) None of these

A

27) With an enumerated data type, the enumerators are stored in memory as ________. A) strings B) integers C) characters D) doubles

B

31) 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(77); return 0; } A) The program runs, but with no output. B) 77 C) Hello! D) The program will not compile.

B

6) Class declarations are usually stored here. A) on separate disk volumes B) in their own header files C) in .cpp files, along with function definitions D) under pseudonyms E) None of these

B

12) If an anonymous union is declared globally (outside all functions), it must be ________. A) empty B) declared static C) explicitly declared "global" D) initialized and used outside any function E) None of these

B

12) When a constructor function accepts no arguments, or does not have to accept arguments because of default arguments, it is called a(n) ________. A) empty constructor B) default constructor C) stand-alone function D) arbitrator function E) None of these

B

13) Data types that are created by the programmer are known as ________. A) variables B) abstract data types (ADT) C) functions D) parameters E) None of these

B

14) If you do not declare an access specification, the default for members of a class is ________. A) inline B) private C) public D) global E) None of these

B

16) This allows you to access structure members. A) structure access operator B) dot operator C) #include <structaccess> directive D) getmember function E) None of these

B

20) This type of member function may be called only from a function that is a member of the same class. A) public B) private C) global D) local E) None of these

B

21) A structure ________ contain members of the same data type. A) cannot B) can C) shouldn't D) None of these

B

23) If Circle is a structure, the statement: Circle *pcirc = nullptr; A) declares an empty structure variable called *pcirc B) declares a structure pointer called pcirc initialized with a null pointer C) is illegal in C++ D) initializes a null pointer with the value of the Circle pointer E) None of these

B

26) When a member function is defined outside of the class declaration, the function name must be qualified with the ________. A) class name, followed by a semicolon B) class name, followed by the scope resolution operator C) name of the first object D) private access specifier E) None of these

B

29) Look at the following declaration. enum Tree { OAK, MAPLE, PINE }; What is the value of the following relational expression? OAK > PINE A) true B) false C) This is an error. You cannot compare enumerators with relational operators.

B

5) This is used to protect important data. A) public access specifier B) private access specifier C) protect() member function D) class protection operator, @ E) None of these

B

6) Passing a structure as a constant reference parameter to a function ________. A) can potentially result in changes to the structure's members B) guarantees not to result in changes to the structure's members C) will always change the structure's members D) All of these E) None of these

B

7) This is like a structure, except all members occupy the same memory area. A) array B) union C) structure pointer D) array of pointers E) None of these

B

9) A ________ is a member function that is automatically called when a class object is ________. A) destructor, created B) constructor, created C) static function, deallocated D) utility function, declared E) None of these

B

9) If Circle is a structure tag, the statement: Circle doSomething(Circle c2) can be the header line for a function that ________. A) determines and returns the area of a circle B) takes a Circle structure as a parameter, does something, and returns a Circle structure C) operates on a constant reference to a Circle structure D) takes two Circle parameters and does something E) None of these

B

Starting Out with C++ from Control Structures to Objects, 8e (Gaddis) Chapter 11 Structured Data 11.1 Multiple Choice Questions 1) This describes only the general characteristics of an object. A) initialization B) abstraction C) detailed specification D) initiation E) None of these

B

Starting Out with C++ from Control Structures to Objects, 8e (Gaddis)Chapter 13 Introduction to Classes13.1 Multiple Choice Questions1) Objects are created from abstract data types that encapsulate ________ and ________ together. A) numbers, characters B) data, functions C) addresses, pointers D) integers, floats E) None of these

B

22) This is automatically called when an object is destroyed. A) constructor function B) specification deallocator C) destructor function D) coroner function E) None of these

C

22) Which of the following statements outputs the value of the gpa member of element 1 of the student array? A) cout << student1.gpa; B) cout << firstStudent.gpa; C) cout << student[1].gpa; D) cout << student1->gpa; E) None of these

C

27) If a local variable and a global variable have the same name within the same program, the ________ resolution operator must be used. A) variable B) ambiguity C) scope D) global E) None of these

C

30) 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; } A) The program runs, but with no output. B) 0 C) Hello! D) The program will not compile.

C

18) Assuming that Rectangle is a class name, the statement: Rectangle *BoxPtr; A) declares an object of class Rectangle B) assigns the value of *BoxPtr to the object Rectangle C) defines a Rectangle pointer variable called BoxPtr D) is illegal in C++ E) None of these

C

19) To dereference a structure pointer, the appropriate operator is ________. A) the ampersand, & B) an asterisk, * C) the structure pointer operator, -> D) the dereference operator, <- E) None of these

C

21) The constructor function always has the same name as ________. A) the first private data member B) the first public data member C) the class D) the first object of the class E) None of these

C

26) A declaration for an enumerated type begins with the ________ key word. A) enumerated B) enum_type C) enum D) ENUM

C

29) 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? A) Car->accelerate(); B) myCar::accelerate(); C) myCar.accelerate(); D) myCar:accelerate();

C

3) This is required after the closing brace of the structure declaration. A) square bracket B) period C) semicolon D) colon E) None of these

C

30) Look at the following structure declaration. struct Employee { string name; int idNum; }; In this declaration, Employee is: A) a member B) an array C) a tag D) None of these

C

4) Examples of access specifiers are the key words: A) near and far B) opened and closed C) private and public D) table and row E) None of these

C

4) Look at the following statement. bookList[2].publisher[3] = 't'; This statement ________. A) is illegal in C++ B) will change the publisher's name of the second book in bookList to 't' C) will store the character 't' in the fourth element of the publisher member of booklist[2] D) will ultimately result in a runtime error E) None of these

C

7) This directive is used to create an "include guard," which allows a program to be conditionally compiled. This prevents a header file from accidentally being included more than once. A) #include B) #guard C) #ifndef D) #endif E) None of these

C

8) When the body of a member function is defined inside a class declaration, it is said to be ________. A) static B) global C) inline D) conditional E) None of these

C

11) You may use a pointer to a structure as a ________. A) function parameter B) structure member C) function return type D) All of these E) None of these

D

32) 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; } A) The program runs, but with no output. B) 77 C) 0 D) The program will not compile.

D

10) Which of the following assigns a value to the hourlyWage member of employee[2]? A) employee[2]->hourlyWage = 50.00; B) employee2.hourlyWage = 7.50; C) hourlyWage[2].employee = 29.75 D) employee[2].hourlyWage = 100.00; E) None of these

D

11) The destructor function's return type is ________. A) tilde B) int C) float D) Nothing. Destructors have no return type. E) None of the above

D

15) In a procedural program, you typically have ________ stored in a collection of variables, and a set of ________ that perform operations on the data. A) numbers, arguments B) parameters, arguments C) strings, operators D) data, functions E) None of these

D

2) In OOP terminology, an object's member variables are often called its ________, and its member functions are sometimes referred to as its behaviors, or ________. A) values, morals B) data, activities C) attributes, activities D) attributes, methods E) None of these

D

2) Which of the following is an example of a C++ primitive data type? A) unsigned short int B) long double C) unsigned char D) All of these E) None of these

D

25) 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. A) universal enum B) auto enum C) multi-cast enum D) strongly typed enum E) None of these

D

28) For the following code, which statement is not true? class Point { private: double y; double z; public: double x; }; A) x is available to code that is written outside the class. B) The name of the class is Point. C) x, y, and z are called members of the class. D) z is available to code that is written outside the class.

D

28) Look at the following declaration. enum Tree { OAK, MAPLE, PINE }; In memory, what value will the MAPLE enumerator be stored as? A) "MAPLE" B) 2 C) 'M' D) 1 E) 1.0

D

3) A C++ class is similar to one of these. A) inline function B) header file C) library function D) structure E) None of these

D

10) The constructor function's return type is ________. A) int B) float C) char D) structure pointer E) None of these

E

15) The name of the structure is referred to as its ________. A) data type B) argument C) parameter D) tag E) None of these

E

21) Look at the following structure declaration. struct Circle { double centerX; double centerY; double radius; }; Assume that circle1 and circle2 are variables of the Circle type, and their members have been initialized. True/False: The following if statement correctly determines whether the two variables' members contain the same data: if (circle1 == circle2)

FALSE

10) True/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.

FALSE

14) True/False: In C++, if you overload the < operator, you must also overload the > operator.

FALSE

15) True/False: A non-static member function may not access a static member variable.

FALSE

15) True/False: A union can only have one member.

FALSE

16) True/False: The names of the enumerators in an enumerated data type must be enclosed in quotation marks.

FALSE

18) True/False: You cannot directly assign an enumerator to an int variable.

FALSE

2) True/False: Class objects can be defined prior to the class declaration.

FALSE

22) The following union declaration appears on a system uses 4-byte ints and 8-byte doubles. union Numbers { int integerNumber; double doubleNumber; }; Numbers myNumber; myNumber.integerNumber = 1; True/False: After this code executes, the myNumber variable will occupy 4 bytes of memory.

FALSE

3) True/False: The constructor function may not accept arguments.

FALSE

4) True/False: A destructor function can have zero to many parameters.

FALSE

6) True/False: A function cannot modify the members of a structure.

FALSE

6) True/False: More than one destructor function may be defined for a class.

FALSE

8) True/False: You must declare all data members of a class before you declare member functions.

FALSE

9) True/False: You must use the private access specification for all data members of a class.

FALSE

True/False: By default, files are opened in binary mode

False

True/False: Only one file stream object can be declared per C++ program

False

True/False: To write to a file, you use the file_write() function.

False

True/False: When data is read from a file, it is automatically stored in a variable.

False

True/False: When you store data in a variable, it is automatically saved in a file.

False

What is true about the following statement? out.open("values.dat", ios::app);

If the file already exists, its contents are preserved and all output is written to the end of the file.

This data type can be used to create files and read information from them into memory. ifstream istream ofstream instream None of these

None of these

In order, the three-step process of using a file in a C++ program involves:

Open the file, read/write/save data, close the file

10) True/False: A private member function is useful for tasks that are internal to the class, but is not directly called by statements outside the class.

TRUE

11) True/False: If you do not declare a destructor function, the compiler will furnish one automatically.

TRUE

11) True/False: It is possible for a structure variable to be a member of another structure variable.

TRUE

11.2 True/False Questions 1) True/False: A struct can contain members with varying data types.

TRUE

12) True/False: 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

12) True/False: When an object is defined without an argument list for its constructor, the compiler automatically calls the object's default constructor.

TRUE

13) True/False: It is possible for a structure to contain as a member a pointer to its own structure type.

TRUE

13) True/False: One purpose that constructor functions are often used for is to allocate memory that will be needed by the object.

TRUE

13.2 True/False Questions 1) True/False: Whereas object-oriented programming centers on the object, procedural programming centers on functions.

TRUE

14) True/False: An anonymous union declaration actually creates the member variables in memory.

TRUE

14) True/False: One purpose that destructor functions are often used for is to free memory that was allocated by the object.

TRUE

15) True/False: 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

16) True/False: The this pointer is automatically passed to non-static member functions of a class.

TRUE

17) True/False: You cannot directly assign an integer value to an enum variable.

TRUE

19) True/False: 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

2) True/False: Any mathematical operations that can be performed on regular C++ variables can be performed on structure members.

TRUE

20) True/False: In C++ 11, if you want to retrieve a strongly typed enumerator's underlying integer value, you must use a cast operator.

TRUE

3) True/False: Structure variables may be passed as arguments to functions.

TRUE

4) True/False: The structure pointer operator is used to dereference a pointer to a structure, not a pointer that is a member of a structure.

TRUE

5) True/False: More than one constructor function may be defined for a class.

TRUE

5) True/False: The expression s->m; indicates that s is a structure pointer and m is a structure member.

TRUE

7) True/False: If a function is legally prototyped to return an integer value, it can return a structure member that is an integer data type.

TRUE

7) True/False: Object-oriented programming is centered around the object, which encapsulate together both the data and the functions that operate on the data.

TRUE

8) True/False: You can define any number of union variables, but each variable can only store the value of one member at a time.

TRUE

9) True/False: 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

True/False: An alternative to using the open member function is to use the file stream object declaration itself to open the file. Example: fstream DataFile("names.dat", ios::in | ios::out);

True

True/False: If a file already exists, you can open it with the flags ios::in | ios::out to preserve its contents.

True

True/False: The ios::hardfail bit is set when an unrecoverable error occurs

True

True/False: The ios::out flag causes the file's existing contents to be deleted if the file already exists.

True

True/False: When passing a file stream object to a function, you should always pass it by reference.

True

When a file is opened, the file stream object's "read position" is ________.

at the beginning of the file

ofstream, ifstream, and fstream are:

data types

Which statement opens a file in such a way that information will only be written to its end?

dataFile.open("info.dat", ios::out | ios::app);

Which of the following statements opens the file info.txt for both input and output?

dataFile.open("info.txt", ios::in | ios::out);

All stream objects have ________, which indicate the condition of the stream.

error state bits

Which statement opens a file and links it to a file stream object?

file.open("c:\\filename.txt");

This data type can be used to create files, read data from them, and write data to them

fstream

This data type can be used to create files, read data from them, and write data to them.

fstream

Data stored here disappears once the program stops running or the computer is powered down.

in RAM

This state bit can be tested to see if the end of an input stream is encountered.

ios::eofbit

This state bit is set when an attempted operation has failed

ios::failbit

Outside of a C++ program, a file is identified by its ________. Inside a C++ program, a file is identified by a(n) ________.

name, file stream object

This data type can be used to create files and write information to them but cannot be used to read information from them.

ofstream

To set up a file to perform file I/O, you must declare:

one or more file stream objects

This member function writes a single character to a file.

put

This term means non-sequentially accessing information in a file.

random access

Closing a file causes any unsaved information still held in the file buffer to be ________.

saved to the file

This member function can be used to store binary data to a file.

write


Related study sets

Precision Machining Midterm Exam

View Set

Psychology: Unit 3 Chapter 1 Section 1

View Set