Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

c++ 1. Which statement initializes (allocates) a pointer to point to a memory address in the heap? int *p = new int; int p =

c++

1.

Which statement initializes (allocates) a pointer to point to a memory address in the heap?

int *p = new int;
int p = new int;
int& p = new int;

int* p;

2.

Here is a function declaration:

 void goo(int* x) { *x = 1; } 

Suppose that a is an int* variable pointing to some integer, and *a is equal to zero. What is printed if you cout << a; after the function call goo(a)?

0
The address of a
1

The address of x

3.

Suppose bag is a template class, what is the syntax for declaring a bag b of doubles?

bag of doubles b;
double bag b;
bag b;

bag b;

4.

Consider the following bag class:

class bag { public: static const int CAPACITY = 30; bag( ) { used = 0; } int erase(int& target); bool erase_one(int& target); void insert(int& entry); void operator +=(bag& addend); int size( ) const { return used; } int count(const int& target); private: int data[CAPACITY]; // The array to store items int used; // How much of array is used }; 

Which steps would be necessary for changing this bag class to hold double values instead of integers?

Change the array declaration from int data[CAPACITY] to double data[CAPACITY] and recompile.
This is a template class, so there is no need to recompile to change the data type.
Round each double value to an integer before putting it in the bag.
Change the int to double for the array and for all return values and parameters related to the array, then recompile.

PreviousNext

5.

With a single template class, we can implement a container class that can be instantiated with a different data type for each object.

True

False

6.

When you write a template class, where does the template prefix occur? (Select all that apply)

Before each member function implementation.
Before each object declaration.
Before the main function

Before the template class definition

7.

Consider this prototype for a template function:

 template  //line 1 void foo(Item); //line 2 

Something is wrong with this prototype. Which line has the error?

line 1
None of the above. There are no errors in these lines.

line 2

8.

 int *p1 = new int; int *p2 = p1; *p1 = 3; *p2 = *p1; cout << p1 << endl; 
4
3
Unpredictable

The address of p1

9.

What is wrong with this block of code?

 int *p1 = new int; //line 1 int *p2; //line 2 *p2 = 4; //line 3 p1 = p2; //line 4 cout << p1 << p2 << endl; //line 5 
The p2 pointer is not instantiated with the new operator before accessing its memory location on line 3.
A pointer assignment to set the address of a pointer cannot be done with an integer value on line 3.
The p1 pointer is incorrectly instantiated with the new operator before accessing its memory location on line 1. Parentheses are missing from this statement.
None of the above. There are no errors in this block of code.

PreviousNext

10.

Consider the following bag class:

class bag { public: static const int CAPACITY = 30; bag( ) { used = 0; } int erase(int& target); bool erase_one(int& target); void insert(int& entry); void operator +=(bag& addend); int size( ) const { return used; } int count(const int& target); private: int* data[CAPACITY]; int used; }; 

What is data? (Select the most likely answer)

A pointer to an object of the Standard Template Library class

A dynamic array of integers

A pointer to an vector that holds int values

An integer variable

11.

What kind of a container is an object of type list from the Standard Template Library?

Sequential

Associative

12.

What does the following code block do?

vector a_list; vector::iterator iter; iter = min_element(a_list.begin(), a_list.end()); cout << *iter << " "; 
This code block declares a vector of integers and an iterator for a vector of integers. The iterator called iter is set to point to the first element in the vector and that value is displayed.
This code block declares a vector of iterators. The iterator with the smallest memory location is located and that memory location is displayed.
This code block declares a vector of integers and an iterator for a vector of integers. The iterator called iter is set to point to the smallest element in the vector and that element is removed.

This code block declares a vector of integers and an iterator for a vector of integers. The iterator called iter is set to point to the smallest element in the vector and that value is displayed.

13.

What is the delete keyword used for?

To remove a pointer address from the stack
To delete both the pointer and to deallocate the space in the heap that is pointed to.
To deallocate the space in the heap pointed to by a pointer.

To delete the value stored in the heap pointed to by a pointer

14.

Which of the following declarations is legal (will not generate an error)?

int q = new *int;
int q = new int;
int q* = new int;

int *q;

15.

Which keyword can be used to allow a non-member function to see the private variables of another class?

protected
grant
friend

overload

16.

Consider the following main function:

int main() { Time t(2, 50); t.setHour(5); t.setMinute(20); cout << "The time is " << t << endl; } 

What is necessary in the Time class to make this main function compile?

None of the above.
The Time class must have the data member t defined in the public area of the class.
The << operator must be overloaded for the Time class

A friend function called t is needed.

17.

In which of the following ways can you write an operator overload? (Select all that apply)

in a class member function
in a nonmember function
in the main function

in a friend function

18.

What is printed by these statements?

 int p1 = 3; int &p2 = p1; p2 = p1; cout << p1 << endl; 
The address in the stack of p1
An error occurs
The address in the stack of both p1 and p2

3

19.

Suppose cursor is a pointer that points to a penguin node in a linked list using a penguin class that includes a member function get_link(). You wish to move cursor to point to the next node (to the next penguin) in the list. Which statement do you use?

cursor++;
cursor = cursor->get_link( );
cursor = get_link();

cursor.get_link();

20.

Suppose cursor points to a penguin node in a linked list using a penguin class, which includes functions called get_data() and get_link(). What Boolean expression should be true when that penguin node is the ONLY node in the list?

cursor->get_data( ) == 0.0
cursor->get_data( ) == NULL
cursor->get_link( ) == NULL

cursor == NULL

21.

The following steps have been performed for deleting a node from a linked list. The nodes have the member accessor function get_link(). The head_ptr points to the head node of a list. Step 1: Set up a local variable called remove_ptr and set it equal to head_ptr Step 2: Set head_ptr equal to the head_ptr->get_link() Step 3: Delete remove_ptr Which of the following situations should use these steps?

To delete ALL nodes from a list
To delete a node from the front of a list
To delete a node from the end of a list

To delete a node from the middle (neither front nor end) of a list.

22.

Which operation is better for storing items in an array than storing items on a linked list?

retrieve a copy of the item at location i.
inserting an item at the beginning (position 0).
deleting an item at the beginning (position 0).

Growing the size of the container.

23.

You are working with a node class named node. Suppose that f is a non-member function with a prototype like this with a missing data type in the parameter list: void f(________ head_ptr); // Precondition: head_ptr is a head pointer for a linked list. // Postcondition: The function f has done some computation with // the linked list, but the list itself is unchanged. What is the best data type for head_ptr in the parameter list of this function?

node* &
node*
node

node&

24.

A virtual function provides you with the ability to have several different functions with the same name in a parent and children classes and have C++ figure out which one to call at run-time.

True

False

25.

Suppose cursor points to a node in a linked list (using the node definition with member functions called get_data and get_link). What Boolean expression will be true when cursor points to the tail node (last node) of the list?

cursor == NULL
cursor->get_link( ) == NULL
None of the above

cursor->get_data( ) == NULL

26.

Consider the following class:

class hourlyEmp: public employee { public: hourlyEmp(); hourlyEmp(const string& newName, const string& newSsn, double newPayRate, double newHours); double getHours() const; void setHours(double newHours); void giveRaise(double amount); void printCheck() const; private: double hours; double payRate; }; 

How could you create an object of this class (Select all that apply)?

employee arnold("Arnold Jones","23456664",13,20);
hourlyEmp arnold();
employee::hourlyEmp arnold("Arnold Jones");

hourlyEmp arnold("Arnold Jones","23456664",13,20);

27.

Which of the following is a pure abstract function?

virtual double area() {area= 0}; 
 virtual double area() = 0; 
pure virtual double area() = {}; 
abstract double area(); 

28.

A programming language is required to provide which things in order for it to be considered an object oriented programming language?

polymorphism
encapsulation
function closure support

inheritance

29.

Consider the following:

class base { public: void vfunc() { cout << "This is base's vfunc()." << endl; } }; class derived1 : public base { public: void vfunc() { cout << "This is derived1's vfunc()." << endl; } }; int main() { base *p, b; derived1 d1; p = &b; p -> vfunc(); // remember, this is equivalent to (*p).vfunc(); p = &d1; p -> vfunc(); } 

What is the output of this program?

This is base's vfunc(). This is base's vfunc().
This is base's vfunc(). This is derived1's vfunc().
This is derived1's vfunc(). This is derived1's vfunc().

Error. Ambiguous reference.

30.

Consider the following:

class base { public: virtual void vfunc() { cout << "This is base's vfunc()." << endl; } }; class derived1 : public base { public: void vfunc() { cout << "This is derived1's vfunc()." << endl; } }; int main() { base *p, b; derived1 d1; p = &b; p -> vfunc(); // remember, this is equivalent to (*p).vfunc(); p = &d1; p -> vfunc(); } 

What is the output of this program?

This is base's vfunc(). This is derived1's vfunc().
This is base's vfunc(). This is base's vfunc().

This is derived1's vfunc(). This is derived1's vfunc().

31.

You wish to convert a container class to a template container class. Which of the following should you consider?

Make the class visible to the client. One way to do this is to include the main function in the header file.
Make sure operations on container data are not type specific. For example, don't use string functions on container data.
Make implementation visible. One way to do this is to include both interface and implementation in the header file.

Make sure all return statements that return container data only return container data. If a return statement returns container data under certain conditions, but another return statement returns something that is not container data under other conditions, there could be a data type conflict when a different data type is used for this template.

32.

Which of the following is a container class in the Standard Template Library? (Select all that apply)

string
vector
sort

list

33.

Consider the following code.

string str1(3, 'a'); cout << str1 << endl; string str2(str1); cout << str2 << endl; string str3("hello", 2); cout << str3 << endl; string str5 = "How are you?"; string str6(str5, 4, 3); cout << str6 << endl;

Assuming that this code has the using namespace std directive and the appropriate #include statements, what would you expect the output to be?

aaa

aa he are

he

aaa aaa aaa

aaa

aa he are

aaa

aaa he are

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database And Expert Systems Applications 24th International Conference Dexa 2013 Prague Czech Republic August 2013 Proceedings Part 2 Lncs 8056

Authors: Hendrik Decker ,Lenka Lhotska ,Sebastian Link ,Josef Basl ,A Min Tjoa

2013th Edition

3642401724, 978-3642401725

More Books

Students also viewed these Databases questions

Question

Tables cannot be sorted by number text date width

Answered: 1 week ago

Question

Write formal proposal requests.

Answered: 1 week ago

Question

Write an effective news release.

Answered: 1 week ago

Question

Identify the different types of proposals.

Answered: 1 week ago