• +91 9971497814
  • info@interviewmaterial.com

Computer Interview Questions Answers

CPlusPlus Interview Questions Answers

Question - 131 : - What is function overloading and operator overloading?

Answer - 131 : - Function overloading: C++ enables several functions of the same name to be defined, as long as these functions have different sets of parameters (at least as far as their types are concerned). This capability is called function overloading. When an overloaded function is called, the C++ compiler selects the proper function by examining the number, types and order of the arguments in the call. Function overloading is commonly used to create several functions of the same name that perform similar tasks but on different data types. Operator overloading allows existing C++ operators to be redefined so that they work on objects of user-defined classes. Overloaded operators are syntactic sugar for equivalent function calls. They form a pleasant facade that doesn't add anything fundamental to the language (but they can improve understandability and reduce maintenance costs).

Question - 132 : - Why are arrays usually processed with for loop?

Answer - 132 : - The real power of arrays comes from their facility of using an index variable to traverse the array, accessing each element with the same expression a[i]. All the is needed to make this work is a iterated statement in which the variable i serves as a counter, incrementing from 0 to a.length -1. That is exactly what a loop does.

Question - 133 : - Which recursive sorting technique always makes recursive calls to sort subarrays that are about half size of the original array?

Answer - 133 : - Mergesort always makes recursive calls to sort subarrays that are about half size of the original array, resulting in O(n log n) time.

Question - 134 : - Tell how to check whether a linked list is circular?

Answer - 134 : - Create two pointers, each set to the start of the list. Update each as follows: while (pointer1) { pointer1 = pointer1->next; pointer2 = pointer2->next; if (pointer2) pointer2=pointer2->next; if (pointer1 == pointer2) { print (\"circular\n\"); } } OK, why does this work? If a list is circular, at some point pointer2 will wrap around and be either at the item just before pointer1, or the item before that. Either way, it’s either 1 or 2 jumps until they meet.

Question - 135 : - What is the difference between an ARRAY and a LIST?

Answer - 135 : - 1. Array is collection of homogeneous elements. List is collection of heterogeneous elements. For Array memory allocated is static and continuous. For List memory allocated is dynamic and Random. Array: User need not have to keep in track of next memory allocation. List: User has to keep in Track of next location where memory is allocated. 2. Array uses direct access of stored members, list uses sequencial access for members. //With Array you have direct access to memory position 5 Object x = a[5]; // x takes directly a reference to 5th element of array //With the list you have to cross all previous nodes in order to get the 5th node: list mylist; list::iterator it; for( it = list.begin() ; it != list.end() ; it++ ) { if( i==5) { x = *it; break; } i++; }

Question - 136 : - Write a fucntion that will reverse a string.

Answer - 136 : - char *strrev(char *s) { int i = 0, len = strlen(s); char *str; if ((str = (char *)malloc(len+1)) == NULL) /*cannot allocate memory */ err_num = 2; return (str); } while(len) str[i++]=s[–len]; str[i] = NULL; return (str); }

Question - 137 : - What is the difference between declaration and definition?

Answer - 137 : - The declaration tells the compiler that at some later point we plan to present the definition of this declaration. E.g.: void stars () //function declaration The definition contains the actual implementation. E.g.: void stars () // declarator { for(int j=10; j>=0; j--) //function body cout<<”*”; cout<<endl; }

Computer Contributors

Rajeev Katiyar
Yes Baroda

Share your email for latest updates


Our partners