CS201 Final Term Past Paper all in one Mega file

 



CS201 Solved Paper For Final term


CS201 Solved Paper - Final term 2009 (2) #MCQ's & Subjective

Question No: 1      ( M - 1 ) .
 In C/C++ if we define an array of size eight (8) i.e. int Arr [8]; then the last element of this array will be stored at,
 
       ► Arr[0]
       ► Arr[8]
       ► Arr[7]
       ► Arr[-1]
 
Question No: 2      ( M - 1 ) .
 When an array is passed to a function then the default way of passing this array is,
 
       ► By data
       ► By reference
       ► By value
       ► By data type
 
Question No: 3      ( M - 1 ) .
 Array is a data structure which store
 
      ► Memory addresses
      ► Variables
      ► Data Type
      ► Data
 
Question No: 4      ( M - 1 ) .
 We can also create an array of user define data type.
 
       ► True
       ► False
 
Question No: 5      ( M - 1 ) .
When we define an array of objects then,
 
       ► Destructor will call once for whole array
       ► Destructor will call for each object of the array
       ► Destructor will never call
       ► Depends on the size of array
 
Question No: 6      ( M - 1 ) .
What is the sequence of event(s) when allocating memory using new operator?
 
       ► Only block of memory is allocated for objects
       ► Only constructor is called for objects
       ► Memory is allocated first before calling constructor
       ► Constructor is called first before allocating memory
 
Question No: 7      ( M - 1 ) .
We can delete an array of objects without specifying [] brackets if a class is not doing dynamic memory allocation internally.
 
       ► True
       ► False
 
Question No: 8      ( M - 1 ) .
The second parameter of operator functions for are objects of the class for which we are overloading these operators.
 
       ► True
       ► False
 
Question No: 9      ( M - 1 ) .
 Which of the following is correct way to initialize a variable x of int type with value 10?
 
       ► int x ; x = 10 ;
       ► int x = 10 ;
       ► int x, x = 10;
       ► x = 10 ;
 
Question No: 10      ( M - 1 ) .
 Default mechanism of function calling in case of array is _____ and in case of variable is ___.
 
       ► Call by value, call by reference
       ► Call by referene, call by reference
       ► Call by reference, call by value
       ► Call by value, call by value
 
Question No: 11      ( M - 1 ) .
 What does STL stand for?
 
       ► Source template library
       ► Standard template library
       ► Stream template library
       ► Standard temporary library
 
Question No: 12      ( M - 1 ) .
 Skill(s) that is/are needed by programmers _______________________.
 
       ► Paying attention to detail
       ► Think about the reusability
       ► Think about user interface
       ► All of the given options
 
Question No: 13      ( M - 1 ) .
 For which array, the size of the array should be one more than the number of elements in an array?
 
       ► int
       ► double
       ► float 
       ► char
 
Question No: 14      ( M - 1 ) .
 new and delete are _____ whereas malloc and free are _____.
 
       ► Functions, operators
       ► Classes, operators
       ► Operators, functions
       ► Operators, classes
 
Question No: 15      ( M - 1 ) .
 Friend functions are _____ of a class.
 
       ► Member functions
       ► Public member functions
       ► Private member functions
       ► Non-member functions
 
Question No: 16      ( M - 1 ) .
 The prototype of friend functions must be written ____ the class and its definition must be written ____
 
       ► inside, inside the class
       ► inside, outside the class
       ► outside, inside the class
       ► outside, outside the class
 
Question No: 17      ( M - 1 ) .
 If overloaded plus operator is implemented as non-member function then which of the following statement will be true for the statement given below?
obj3 = obj1 + obj2 ;
       ► obj2 will be passed as an argument to + operator  whereas obj2 will drive the + operator
       ► obj1 will drive the + operator whereas obj2 will be passed as an argument to + operator
       ► Both objects (obj1, obj2) will be passed as arguments to the + operator
       ► Any of the objects (obj1, obj2) can drive the + operator

Question No: 18      ( M - 1 ) .
 Which one of the following is the declaration of overloaded pre-increment operator implemented as member function?
 
       ► Class-name operator +() ;
       ► Class-name operator +(int) ;
       ► Class-name operator ++() ;
       ► Class-name operator ++(int) ;
 
Question No: 19      ( M - 1 ) .
 For cin, the source is normally a ________ and destination can be ______.
 
       ► File, native data type
       ► Disk, user-define type
       ► Keyboard, variable
       ► File, user-define type
 
Question No: 20      ( M - 1 ) .
 We can also do conditional compilation with preprocessor directives.
 
      ► True
      ► False

Question No: 21      ( M - 1 ) .
 The programs, in which we allocate static memory, run essentially on ________
 
       ► Heap
       ► System Cache
       ► None of the given options
       ► Stack

Question No: 22      ( M - 1 ) .
 The default value of a parameter can be provided inside the ________________
 
       ► function prototype
       ► function definition
       ► both function prototype or function definition
       ► none of the given options.
 
Question No: 23      ( M - 1 ) .
 While calling function, the arguments are assigned to the parameters from _____________.
 
       ► left to right.
       ► right to left
       ► no specific order is followed
       ► none of the given options.
 
Question No: 24      ( M - 1 ) .
 When an operator function is defined as member function for a binary Plus (+) operator then the number of argument it take is/are.
 
       ► Zero
       ► One
       ► Two
       ► N arguments
 
Question No: 25      ( M - 1 ) .
 With user-defined data type variables (Objects), self assignment can produce __________.
 
       ► Syntax error
       ► Logical error
       ► Link error
       ► Non of the given options
 
Question No: 26      ( M - 1 ) .
 Assignment operator is used to initialize a newly declared object from existing object.
 
       ► True
       ► False
 
Question No: 27      ( M - 1 ) .
 When an object of a class is defined inside an other class then,
 
       ► The constructor of the enclosing class will be called first
       ► The constructor of the inner object will be called first
       ► Constructor and Destructor will be called simultaneously
       ► None of the given options
 
Question No: 28      ( M - 1 ) .
 In the member initializer list, the data members are initialized,
 
       ► From left to right
       ► From right to left
       ► In the order in which they are defined within the class
       ► None of the given options
 
Question No: 29      ( M - 1 ) .
 new operator allocates memory from free store and return _____________.
 
       ► A pointer
       ► A reference
       ► An integer
       ► Afloat
 
Question No: 30      ( M - 1 ) .
 "new" and "delete" keywords are _____________ in C++ language.
 
       ► Built-in- Function
       ► Operators
       ► Memory Allocation Function
       ► None of  the given options
 
Question No: 31      ( M - 1 )
 What is a constructor in a class?
 
Answer:
 
Constructors are used to creating and can initialize, objects of their class type.
The name of this function is the same as the name of the class, having no return type.
This is in the public section of our class.
If we do not write a constructor, C++ writes a default constructor for us.
 
Question No: 32      ( M - 1 )
What are the two types of conversion for user-defined data types?
 
Answer:
  • Conversion by constructor
  • Constructor by operator
 
Question No: 33      ( M - 2 )
Is there a way to increase the size of the already allocated memory chunk ? Can the same chunk be increased or not?
 
Answer:
#include
main()
{
            char *ptr;
            ptr=(char*)malloc(20*sizeof(char));
            realloc(ptr,25*sizeof(char));
 
/*        
            char *ptr1;
            ptr1=new char[20];
            delete ptr1;
            ptr1=new char[25];
            system("pause");
*/
}

Question No: 34      ( M - 2 )
 Give the general syntax of a class template.
 
Answer:
 
template // T is generic data type
class class-name
{
            //class definition;
};
 
 
Question No: 35      ( M - 3 )
What is the difference between structure and class? 
Answer:
 
In C++ structures are very similar to classes except for the default visibility i-e default visibility in structure is public and private in classes
 
Question No: 36      ( M - 3 )
How many arguments does binary member operator function and binary non-member operator function take?
 
Answer:
 
member function with one parameter

and
 
non-member function with two parameters.
 
Question No: 37      ( M - 3 )
Find the error in the given code  
for ( int i=0; i
{
for(int j=0; j
{
elements[i , j] = m.elements[i][j];       
}
}
 
Answer:
 
elements[i , j] should be elements[i] [ j]
 
 
Question No: 38      ( M - 5 )
Write the C++ syntax for making a class friend of other class.
 
Answer:
 
friend class Y;
 
or
 
class myclass
{
friend class otherClass;
}
 
Question No: 39      ( M - 5 )
What is a template function? Give the general syntax of writing a template function.
 
template // T is generic data type
class my-class-name
{
            //class definition;
};
 
template
class name :: functionname(argument list)
{
            //function body;
};
 
Question No: 40      ( M - 10 )
Write a program which contains a class student. The class should contain two char pointer variablesName, and department. The class should further contain constructors, overload the stream insertion operator (<<) for this class.
 
In main function create two objects and display these objects.
 
 
 
#include
class student
{
            private:
                        char Name[100];
                        char department[100];
            public:
                        student()
                        {
                                    cout << "object created" <
                        }
                        void setname()
                        {
                                    cout << "name ?" <
                                    cin >> Name;
                        }
                        void setdepartment()
                        {
                                    cout << "dep name ?" << endl;
                                    cin >> department;
                        }
                        friend ostream & operator << (ostream &  , student );
};
ostream & operator << (ostream & out , student s)
{
            cout << s.Name << endl;
            cout << s.department << endl;
            return out;
}
main()
{
            student a,b;
            a.setname();
            a.setdepartment();
           
            b.setname();
            b.setdepartment();
            cout << a <
            cout << b <
            system("pause");
}

Question No: 41      ( M - 10 )
What is Standard Template Library (STL) also describe its advantages?


CS201 Solved Paper - Final term 2009 (2) #MCQ's & Subjective

If we write a statement like s2 = s1; ___ will be the calling object and ____ will be passed to the = operator as an argument.
        s1, s1
        s1, s2
        s2, s1
        s2, s2
If we write a statement like s2 = s1s2 will be the calling object and s1 will be passed to the = operator as an argument. P# 397



Overloaded new operator function takes a parameter of type size_t and returns
        void (nothing)
        void pointer
        object pointer
        int pointer

Also note that the new operator returns a void pointer. Any new operator we write must have this parameter and return type.
 
 
Which of the following is the correct way to declare a variable x of integer type?
        x int ;
        integer x ;
        int x;
        x integer

 
Reserve words cannot be used as a variable name.
        True
        False
There are few data types in the C language. These data types are reserved words of the C language. The reserve words can not be used as variable manes. P#  17


A template function must have at least ---------- generic data type
 
        Zero
        One
        Two
        Three

The function arguments must contain at least one generic data type. P#  499
 
 
Template functions can also be overloaded
        True
        False

We can write overloaded template functions as long as there is use of different number or type of arguments.. P # 503
 
 
We can not make a member function of a class as template function.
        True
        False not sure

When break statement is encountered in switch statement, it
        Stops the entire program
        Stops the execution of current statement
        Exits from switch statement
        None of the given options


We can also define a variable of user define data type (object) as static.
        True
        False


The declarator of Plus (+) member operator function is
 
        Class-Name  operator + (Class-Name  rhs)
        operator Class-Name + ( )
        operator Class-Name + ( rhs)
        Class-Name  operator + ( )


 Let suppose
    int a, b, c, d, e;
  a = b = c = d = e = 42;
This can be interpreted by the complier as:
 
        a = (b = (c = (d = (e = 42))));
        (a = b = (c = (d = (e = 42))));
        a = b = (c = (d = (e = 42)));
        (a = b) = (c = d) = (e = 42);
a = (b = (c = (d = (e = 42) ) ) );
 
 
 
What will be the range of numbers generated by function rand () % 9?
        0 to 9
        1 to 9
        0 to 8
        1 to 8
When 6 divides any number, the remainder will always be less than 6. Ther
result will be between therefore we will add 1. 1 + rand ( ) % 6;
Which of the following is the correct function call having array named student of 10 elements as a parameter.
        addRecord(student[]) ;
        addRecord(student) ;
        addRecord(student[10]) ;
        addRecord(*student) ;
when we pass array we don’t give limit of array
Example:
 #include
   #include
   void read(int *,int);
   void dis(int *,int);
  
   void main()
   {
    int a[5],b[5],c[5],i;

    printf("Enter the elements of first list \n");
    read(a,5);
    printf("The elements of first list are \n");
    dis(a,5);
   }

   void read(int c[],int i)
   {
    int j;
    for(j=0;j       scanf("%d",&c[j]);
    fflush(stdin);
   }

   void dis(int d[],int i)
   {
    int j;
    for(j=0;j
     printf("%d ",d[j]);
    printf("\n");
   }
 
Declaring structures does not mean that memory is allocated.
Example:
        True
        False

structures do not occupy any memory until it is associated with the structure variable
 
Identifier is a name that can be given to variables, labels and functions.
        True
        False

An 'Identifier' means any name that the user creates in his/her program. These names can be of variables, functions and labels
 
If a class A declares itself a friend of class B and a class B declares itself a friend of class C then
        Class A is also a friend of class C.
        Class B is also a friend of class A.
        Class A is also a friend of class C if A declares C as its friend.
        Class A is also a friend of class C if C declares A as its friend.
If we want a two-way relationship, OtherClass will have to declare ClassOne as a friend class, resulting in a complete two-way relationship



Which of the following statement is best regarding declaration of friend function?
 
        Friend function must be declared after public keyword.
        Friend function must be declared after private keyword.
        Friend function must be declared at the top within class definition.
        It can be declared anywhere in class as these are not affected by the public and private keywords.



Friend is a very strong statement. It is too strong to be affected by public or private we can put it anywhere in the class
 
A pointer is a special type of variable that contain ___________
        Memory Address
        Data values
        Both Values and Memory
        None of given of options

Pointer is a special type of variable that contains a memory address.
 
When memory for a program is allocated at run time then it is called ________
 
        static memory allocation 
        dynamic memory allocation 
        stack memory allocation
        virtual memory allocation 
When we create an object of the class at run time, it will allocate memory according to our requirement. So there is no waste of memory and the situations in which we want to store large data in small memory or vice versa are prevented. So we do dynamic memory allocation inside these classes.
 
What purpose do classes serve?
        Data encapsulation
        Providing a convenient way of modeling real-world objects
        Simplifying code reuse
        All of the given options



Which of the following function cannot be overloaded?
        Member functions
        Utility functions
        Constructor
        Destructor
The destructors can be summarized as The destructors cannot be overloaded. The destructors take no arguments. The destructors don’t return a value



The following prototype of unary operator function indicates that it is ____________ .
Date operator++(int )
 
        Member functions of post increment operator
        Member functions of  pre increment operator
        Non-member functions of post increment operator
        Non-member functions of  pre increment operator
Overloading Unary Operators
// Preincrement operator overloaded as a member function.
Date Date::operator++()
{
helpIncrement();
return *this; // value return; not a reference return
}

// Postincrement operator overloaded as a member function.
// Note that the dummy integer parameter does not have a
// parameter name.
Date Date::operator++(int)
{
Date temp = *this;
helpIncrement();

// return non-incremented, saved, temporary object
return temp; // value return; not a reference return
}



Static variable which is defined in a function is initialized __________.
        Only once during its life time
        Every time the function call
        Compile time of the program
        None of the above

Once the static variables are created, they exist for the life of the program. They do not die.
 
In the member initialize list, the data members are initialized,
        From left to right
        From right to left
        In the order in which they are defined within class
        None of the given options



If we do not indent the code properly it will __________________
        Be a syntax error
        Be a logical error
        Not be an error at all
        None of the given options



we Indent the code for better readability and understanding
 
 
Truth tables are used for analyzing ___________.
        logical expressions
        arithmetic expressions
        both logical and arithmetic expressions
        none of the given options.

The truth tables are very important. These are still a tool available for analyzing logical expressions.
 
 
Static memory allocation is also known as ____________
        Dynamic allocation
        Compile time allocation
        Run time allocation
        None of the given options
This type of memory static allocation. It is also known as compile time allocation.


 
 ( M - 1 )
What does getline() member function of cin stream do?
  
Another member function of cin is getline(). It reads a complete buffer i.e. the number of character specified up to a delimiter we specify. We can write something like:
            cin.getline(char *buffer, int buff_size, char delimiter = ‘\n’)
   
( M - 1 )
When memory is allocated dynamically using new operator within the constructor of class then what is an appropriate place to de-allocate the memory?
Whenever we allocate memory with the new operator, it is our responsibility to de-allocate this memory after the termination of the program. To do this de-allocation, we have an operator delete. To de-allocate the memory, allocated with p = new int ; we will write delete
 
(p) ;
It will not delete the p rather, it will send the memory gotten and pointed by pback to the free store.

( M - 2 )
What will be the output of following code, if user input the number 123?

int input;
cin >> oct >> input;
cout << hex << outpot;

 
 
( M - 2 
What is a memory leak?
suppose, the heap size is decreased as we had allocated memory from it despite the fact that it was never utilized. If this step of allocating memory and then destroy the pointer to this memory carries on then the size of the heap will going on to decrease. It may become of zero size. When there is no memory on heap, the computer will stop running and there may be a system crash. This situation is called a memory leak
 
 ( M - 3 )
When we call calloc function to allocate memory and its return a NULL pointer what does it mean?
 
Calloc function takes two arguments. The first argument is the required space in terms of numbers while the second one is the size of the space
Now we have to see what happens when either we ask for too much memory at a time of non-availability of enough memory on the heap or we ask for memory that is available on the heap , but not available as a single chunk?. In this case, the call to calloc will fail. When a call to memory allocation functions fails, it returns a NULL pointer.
 
 ( M - 3 )
Read the given code and explain code functionality.
 
Matrix :: Matrix ( const Matrix & m )
{
    numRows = m.numRows ;
    numCols = m.numCols ;
    elements = new ( double * ) [ numRows ] ;
    for ( int  i = 0 ; i < numRows ; i ++ )
{
        elements [ i ] = new double [ numCols ] ;
        for ( int j = 0 ; j < numCols ; j ++ )
                 elements [ i ] [ j ] = m.elements [ i ] [ j ] ;
    }
}

( M - 3 )
What is the keyword ‘this’ and what are the uses of ‘this’ pointer?
 
Whenever an object calls a member function, the function implicitly gets a pointer from the calling object. That pointer is known as this pointer. ‘this’ is a keyword. We cannot use it as a variable name. ‘this’ pointer is present in the function, referring to the calling object.
this pointer points to the current object.

 ( M - 5 )
 
What do you mean by garbage collection and how it works in JAVA and C++?
 
JAVA gives the concept of garbage collection with the use of references. Due to this garbage collection, we are free from the headache of de-allocating the memory. We allocate and use the memory. When it is no longer in use, JAVA automatically deletes (frees) it through garbage collection But in C and C++ languages, we have to take care of de-allocating the memory. In classes where we use dynamic memory, we have to provide destructors to free this memory. The languages keep evolving, new constructs will keep evolving in existing or new languages.

 ( M - 5 )
Explain the concept of separation of interface from the implementation in the context of classes, using a real world example.
 
( M - 10 )
Write a simple program using the get() member function of cin object reading a text of 30characters from the keyboard, store them in an array and then using put() member function of cout object to display them on the screen.
 
( M - 10 )
Overload the Binary Assignment (=) Operator.
Write a program that has a class List, This class should have Two data members, an array of integers list[], and an integer variable length (i.e. number of elements in the list).The class should further contain a default constructor,  a Print() function which display the list and a Function insert() which insert an element in the list and an Assignment (= ) Operator function, which contain code for the assignment of one object to another. .
In the main function define two objects list1 and list2 and use the statement list2 = list1; and use (call ) print function with both objects



CS201 Solved Paper - Final term Subjective By Different Students

Question 1:

Identify each of the following as system software and application

software.

LINUX, DISK CLEANUP, WORD PROCESSOR, WINDOWS, STUDENT

INFORMATION (mark 5)

Q2:

Write the explanation of this program. See the program from book pg no534.

(mark5)

Q3: Write a program that defines three variables of type double which

store three different values including decimal points, using set precision

manipulators to print all these values with different numbers of digits

after the decimal number. (5)

Q4 defines static variable also explain life time of static variable? (3)

Q5 what do you know about run time errors? (3)

Q6 what are the limitations of the friendship between classes? (3)

Q7: read the code and explain the functionality of this program? See

page 535 for cod (3)

Q8: write down the meanings of the given below line of code, where m is an

object of the class matrix. If (& m = this) (2)

Q9: write the general syntax for the definition of the user-defined

function? (2)

Q10: What is the source and destination of cin?(2)

Q11: Write the general syntax of allocation memory dynamically to an array using a new operator? (2)

1. what is the difference between pointer and variable?

2. What is the difference between Unary and binary operators and how they

can be overloaded?

3. how many types of templates?

4.What will be the output of the following function if we call this function by

passing int 5?

template T reciprocal(T x) {return (1/x); }

5. Identify the errors in the following member operator function and also

correct them.

math * operator(math m);

math * operator (math m)

{

math temp;

temp.number= number * number;

CS201 (2011) Current Papers Compiled Page No.2

return number;

Answer:

The errors are in the arguments of the member operation function and

also in the body of operator member function.

Correct function should be

math *operator(math *m);

math *operator (math *m)

{

math temp;

temp = m;

temp.number= number * number;

return temp.number;

Q# 6

what are limitation of the friendship between classes? (marks3)

Q# 7

Read the code and explain the functionality of this program? See page

535

for cod (marks3)

Q# 8

write down the meanings of given below line of code, where m is an

object of

the class matrix. If (& m = this) (marks 2)

Q# 9

write the general syntax for the definition of the user defined function?

(marks2)

Q# 10

what is the source and destination of cin?(marks2

Q# 11

write the general syntax of allocation memory dynamically to an array

using new

operator? (marks2)

Question 1:

Identify each of the following as system software and application

software.

LINUX, DISK CLEANUP, WORD PROCESSOR, WINDOWS, STUDENT

INFORMATION (mark 5)

Q2:

Write the explanation of this program. See program from book pg no534.

(mark5)

CS201 (2011) Current Papers Compiled Page No.3

Q3: Write a program which defines three variables of type double which

store three

different values including decimal points, using set precision

manipulators to print all

these values with different numbers of digits after the decimal

number.(5)

Q4 define static variable also explain life time of static variable? (3)

Q5 what do you know about run time error? (3)

Q6 what are limitation of the friendship between classes? (3)

Q7: read the code and explain the functionality of this program? See

page 535 for cod (3)

Q8: write down the meanings of given below line of code, where m is an

object of the

class matrix. If (& m = this) (2)

Q9: write the general syntax for the definition of the user defined

function? (2)

Q10: what is the source and destination of cin?(2)

Q11: write the general syntax of allocation memory dynamically to an

array using new

operator? (2)

Q: define buffer?explain its usage? 5 MARKS

Q: why binary search algorithm is efficient than linear search algorithm?

5 marks

Q: perator function ka syntex(3 marks)

Q: post increment and pre increment k syntex btana thay(2 marks)

Q:what is language translator?(2 marks)

Q: write somethiing something about testing in designing program? 3

MARKS

Q:Read the given below code and explain what task is being performed by

this function 5 MARKS

Matrix :: Matrix ( int row , int col )

{

numRows = row ;

numCols = col ;

elements = new ( double * ) [ numRows ] ;

for ( int i = 0 ; i < numRows ; i ++ )

{

elements [ i ] = new double [ numCols ] ;

CS201 (2011) Current Papers Compiled Page No.4

for ( int j = 0 ; j < numCols ; j ++ )

elements [ i ] [ j ] = 0.0 ;

}

}

Hint : This function belong to a matrix class, having

Number of Rows = numRows

Number of Columns = numCols

Which one (copy constructor or assignment operator) will be

called in each of the following code segment?

1) Matrix m1 (m2);

2) Matrix m1, m2;

m1 = m2;

3) Matrix m1 = m2; 

CS201 (2011) Current Papers Compiled 


: define buffer? explain its usage? 5 MARKS
Q: why binary search algorithm is efficient than linear search algorithm? 5 marks
Q: perator function ka syntex(3 marks)
Q: post increment and pre increment k syntex btana thay(2 marks) 
Q:what is language translator?(2 marks)
Q: write somethiing something about testing in designing program? 3 MARKS
Q:Read the given below code and explain what task is being performed by this function 5 MARKS

Matrix :: Matrix ( int row , int col ) 
{
numRows = row ;
numCols = col ;
elements = new ( double * ) [ numRows ] ;
for ( int i = 0 ; i < numRows ; i ++ )
{
elements [ i ] = new double [ numCols ] ;
for ( int j = 0 ; j < numCols ; j ++ )
elements [ i ] [ j ] = 0.0 ; 
}
}



Hint : This function belong to a matrix class, having 
Number of Rows = numRows
Number of Columns = numCols
Which one (copy constructor or assignment operator) will be
called in each of the following code segment?
1) Matrix m1 (m2);
2) Matrix m1, m2;
m1 = m2;
3) Matrix m1 = m2;

CS201 (2011) Current Papers Compiled


Q1.what is diffrent between pointer and variable?
2.What is difference between Unary and binary operators and how they can be overloaded?
3.how many types of templates?
4.What will be the output of following function if we call this function by passing int 5?
template T reciprocal(T x) {return (1/x); }
5. Identify the errors in the following member operator function and also correct them.
math * operator(math m);
math * operator (math m)
{
math temp;
temp.number= number * number;
return number;
Answer:
The errors are in the arguments of the member operation function and also in the body of operator member function.
Correct function should be
math *operator(math *m);
math *operator (math *m)
{
math temp;
temp = m;
temp.number= number * number;
return temp.number;




CS201 Solved Paper - Final term Subjective & Objective


(Note:- Some answers are not confirmed) 
   
 
Question No: 1    ( M - 1 )    .
 To access the data members of structure _______ is used.
       ► dot operator (.) 
       ► * operator
       ► à operator
       ► None of given.
  
Question No: 2    ( M - 1 )    .
 What does 5 ^ 6 , evaluate to in decimal where ‘^’ is Exclusive OR operator?
       ► 1
       ► 2
       ► 3
       ► 4
   
Question No: 3    ( M - 1 )    .
 If constructor contains a return statement in its body then compiler will give __________
       ► No error
       ► Syntax error
       ► Logical error
       ► Run time error
   
Question No: 4    ( M - 1 )    .
  We can use New keyword inside of Class Constructor. 
        ►True
        False
   
Question No: 5    ( M - 1 )    .
 When an operator function is define as member function for a Unary operator then the number of argument it take is/are,
        ►Zero
        One
        Two
        N arguments
  
The declarator of Plus (+) member operator function is
        Class-Name operator + (Class-Name rhs)
        operator Class-Name + ( )
        operator Class-Name + ( rhs)
        Class-Name operator + ( )
  
Question No: 7    ( M - 1 )    .
 Friend function of a class is ______________ .
         ►Member function
         ►Non-member function                 
         ►Private function
         ►Public function                                  
Question No: 8    ( M - 1 )    
 We can also create an array of user define data type.
          True
          ►False
   
Question No: 9    ( M - 1 )    
 What is the sequence of event(s) when deallocating memory using delete operator?
          ►Only block of memory is deallocated for objects
          Only destructor is called for objects
          Memory is deallocated first before calling destructor
          Destructor is called first before deallocating memory
  
Question No: 10    ( M - 1 )    
 Deleting an array of objects without specifying [] brackets may lead to memory leak
          ►True
          ►False
   
Question No: 11    ( M - 1 )    
 Which of the following data type(s) can operate on modulus operator ‘%’?
         ► float, int
         ► float, double
         ► int
         ► char
  
Question No: 12    ( M - 1 )    
 Array is passed by value to a function by default.
         ►True
         ►False
   
Question No: 13    ( M - 1 )    
 With template function, the compiler automatically detects the passed data and generates a new copy of function using passed data.
         ►True
         
False
   
Question No: 14    ( M - 1 )    
 What will be the correct syntax to initialize all elements of two-dimensional array to value 0?
         int arr[2][3] = {0,0} ;
         int arr[2][3] = {{0},{0}} ;
         int arr[2][3] = {0},{0} ;
         int arr[2][3] = {0} ;
   
Question No: 15    ( M - 1 )    .
 When an operator function is define as member function then operand on the left side of operator must be an object.
         ►True
         ►False
  
Question No: 16    ( M - 1 )    .
 break statement can be used outside a loop or switch statement.
         True
         ►False
   
Question No: 17    ( M - 1 )    .
 The keyword_______ is used to return some value from a function.
         return
         ►break
         ►continue
         ►goto
   
Question No: 18    ( M - 1 )    .
 Every data member or function inside the structure is ___ by default whereas everything declared inside a class is ____ by default.
         ►private, public
         ►public, private
         ►private, protected
         ►public, protected
   
Question No: 19    ( M - 1 )    .
 Which of the following is true for the C++ statement given below?
 int &ref = val ;
        It creates a synonym for variable ‘val’
        ►It creates an alias for variable ‘val’
        ►It’s a new name for variable ‘val’
        ►All of the given options
   
Question No: 20    ( M - 1 )    .
 If overloaded plus operator is implemented as non-member function then which of the following statement will be true for the statement given below?
obj3 = obj1 + obj2 ;
        ►obj2 will be passed as an argument to + operator whereas obj2 will drive the + operator
        ►obj1 will drive the + operator whereas obj2 will be passed as an argument to + operator
        ►Both objects (obj1, obj2) will be passed as arguments to the + operator
        ►Any of the objects (obj1, obj2) can drive the + operator
   
Question No: 21    ( M - 1 )    .
 Unary operator implemented as member function takes ____ arguments whereas non-member function takes _____ arguments.
         One, zero
         ►Zero, one
         ►One, two
         ►Two, one
   
Question No: 22    ( M - 1 )    .
 The input/output streams cin and cout are ________ therefore have _______.
        ► Structures, function
        ► Objects, member functions
        ► Functions, objects
        ► None of the given options
 
Question No: 23    ( M - 1 )    .
 If a symbolic constant has been defined, it will be an error to define it again.
       ► True
       ► False
   
Question No: 24    ( M - 1 )    .
 Every class contains _______________.
       ► Constructor
       ► Destructor
       ► Both a constructor and a destructor
       ► None of the given options
 
Question No: 25    ( M - 1 )    .
 new and delete keywords are _____________ in C++ language.
       ► Built-in- Function
       ► Operators
       ► Memory Allocation Function
       ► None of the given options

Question No: 26    ( M - 1 )    .
 Consider the following code segment. 
class M {
public:
   M &operator+(const M &);
...
};
 
p + q                 //code of line implies that   p.operator+(q)
...
Let assume if p and q are class objects then function is implemented as _______
  
        ►Member function
        ►Non-member function
        ►Friend function
        None of the given options
   
Question No: 27    ( M - 1 )    .
 Assignment operator is -------------------------associative.  
         ►right 
         ►left 
         ►binary 
         ►unary 
   Assignment operators in imperative programming languages are usually defined to be right-associative.

Question No: 28    ( M - 1 )    .
 Static variable which is defined in a function is initialized __________.
       ► Only once during its life time
       ► Every time the function call
       ► Compile-time of the program
       ► None of the above
  
Question No: 29    ( M - 1 )    .
 Wecan not define a variable of user-defined data type in the class.
      ►True
      ►False
   
Question No: 30    ( M - 1 )    .
 A constructor that will create a new object with a full copy of the other object, is copy is known as ___________
        ►deep copy
        ►shallow copy
        ►constructor copy
        ►none of the options
   
Question No: 31    ( M - 1 )
 What is the use of reference data type?
 
A reference data type is a variable that can contain an address. The reference data types in Java are arrays, classes and interfaces. You'll hear often say that Java does not have pointers. Yet, you could consider a reference data type to be a pointer
   
Question No: 32    ( M - 1 )
 What are the main types of operators in terms of number of arguments they take?
 
The difference is in the number of arguments used by the function. In the case of binary operator overloading, when the function is a member function then the number of arguments used by the operator member function is one (see below example). When the function defined for the binary operator overloading is a friend function, then it uses two arguments.
   
Question No: 33    ( M - 2 )
 What is the this pointer? Give an example of its use
In a C++ program, if you create object A of class X, you can then obtain the address of A by using the "this" pointer. The address is available as a local variable in the non-static member functions of X, and its type is const X*. The "this" pointer works because C++ creates instances of its data members, and it keeps one copy of each member function.
 
   
Question No: 34    ( M - 2 )
 What are manipulators? Give one example.
 
Manipulators are operators used in C++ for formatting output. The data is manipulated by the programmer’s choice of displayed endl manipulator. This manipulator has the same functionality as the ‘\n’ newline character.
 
   
Question No: 35    ( M - 3 )
 What will be the output of following functions if we call these functions three times?
 
1)
void func1(){
int x = 0;
x++;
cout << x << endl;
}
 
The output will be:
1
1
1
 
2)
void func2(){
static int x = 0 ;
x++;
cout << x << endl ;
 
Output will be:
1
2
3
  
   
Question No: 36    ( M - 3 )
 If the requested memory is not available in the system then what does calloc/malloc and new operator return?
 
malloc returns a void pointer to the allocated space or NULL if there is insufficient memory available. To return a pointer to a type other than void, use a type cast on the return value. The storage space pointed to by the return value is guaranteed to be suitably aligned for storage of any type of object. If size is 0, malloc allocates a zero-length item in the heap and returns a valid pointer to that item.
By default, malloc does not call the new handler routine on failure to allocate memory. You can override this default behavior so that, when malloc fails to allocate memory, malloc calls the new handler routine in the same way that the new operator does when it fails for the same reason.
 
   
Question No: 37    ( M - 3 )
 If we want to send the data by reference and don’t want that original data should be affected then what can we do to prevent any change?
 

Question No: 38    ( M - 5 )
 Write down the disadvantages of the templates.
 
The disadvantages of templates are:
• Templates can make code difficult to read and follow depending upon coding style.
• They can present seriously confusing syntactical problems esp. when the code is large and spread over several header and source files.
• Then, there are times, when templates can "excellently" produce nearly meaningless compiler errors thus requiring extra care to enforce syntactical and other design constraints. A common mistake is the angle bracket problem.
   
Question No: 39    ( M - 5 )
 The following code segment has errors. Locate as many as you can and explain briefly.
 
class Circle // no need to enter colon here , so I removed it
{
private : //colon missing
double centerX;
double centerY;
double radius;
public: //colon missing
void setCenter(double, double);
void setRadius(int);
};//semi colon missing
 
   
Question No: 40    ( M - 10 )
 Write a program which consists of two classes, Date and Person.

Date class should contain three data members daymonthyear and setter and getter function for these data members. Date class should also contain showdate() member function to display date.
 
Person class should contain three data members Name, Address, and Bday, where Name and Address are char pointer while Bday(Date of birth) is of type Date, Person class should further contain two member functions Display() and setdate().
 
In main program Create an object of Class person and call the member functions with it.

Please find the Answer in following 
#include
#include
#include
using namespace std;
 
class Date
{
public:
            int day;
            int month;
            int year;
 
public:
            Date()
                        {
                                    day=0;
                                    month=0;
                                    year=0;
 
                        }
 
            void setDay(int);
            void setMonth (int);
            void setYear(int);
 
            int getDay();
            int getMonth();
            int getYear();
 
            void showDate();
};
void Date: :setDay(int d)
{
            if{d31)
            cout<     A default constructor which must initialize all the data members to their meaningful values.
·     A destructor with no implementation.
·     Setter member functions to set all data members of class
·     Getter member functions to get all data members of class
 
In main function of the program
                                                                                                            
5.      Prompt the user to enter the number of objects to be created.
6.      Dynamically allocate memory to objects according to the size entered by user.
7.      De-allocate memory that was allocated to objects
 
Please find the Answer in following 
#include
#include
#include
using namespace std;
 
class myclass
 
{
 
public:
int a;
int b;
int *iptr, *sptr;
 
construct{int,int.int}
 
            void seta(int);
            void setb(int);
            void setc(int);
 
            int geta();
            int getb();
            int getc();
 
 
 
};
 
void Person: :seta(int aa)
{
 
            a=aa;
}
 
void Person: :setb (int bb)
{
 
            b=bb;
}
            void Person: :setc (int cc)
{
            c=cc;
}
 
main()
 
{
 
int num;
 
cout<

CS201 Solved Paper - Final term Subjective Important Questions &Answer


Question No: 1      ( M - 2 )

 

Write a declaration statement for an array of 10 elements of type float. Include an initialization statement of the first four elements to 1.0, 2.0, 3.0 and 4.0.

 

Answer:

float  floatArry[10] = {1.0,2.0,3.0,4.0};

 

Question No: 2      ( M - 2 )

 

Write the general syntax for the declaration of pre-increment and post-increment member operator function.

 

Answer:

Classname operator ++(); ---- pre increment

Classname operator ++(int)  ---- post increment

 

 

Question No: 3      ( M - 2 )

 

Give the general syntax of class template.

 

Answer:

template

class myclass { ---} ;

 

Question No: 4      ( M - 2 )

 

What is a truth Table?

 

Answer:

There are some areas where the decision structures become very complicated. Sometimes, we find it difficult to evaluate a complicated logical expression. Sometimes the logic becomes extremely complicated so that even writing it as a simple syntax statement in any language. It becomes complicated to determine what will be evaluated in what way. We know the concept of truth table. The truth tables are very important. These are still a tool available for analyzing logical expressions. We will read logic design in future, which is actually to do with chips and gates. How we put these things together.

 

Question No: 5      ( M - 2 )

 

What will be the output of following code, if user input a number 123?

 

int input ;

cin >> oct >> input;

cout << hex << input ;

 

Answer:

 

53

 

Rational: it will take 123 as octal and print it in hex form which is 53.

 

 

Question No: 6      ( M - 2 )

 

What is principle of friendship in the context of functions and classes?

 

Answer:

Class can declare a friend function and someone from outside the class cannot declare itself friend of a class.

A friend function can access the private variables of class just like a member function

 

Question No: 7      ( M - 2 )

 

How many arguments a Unary Operator take? Can we make a binary operator as unary operator?

 

Answer:

Unary operator takes only one argument like i++ or i— (Post increment or post decrement operators for integers) or ++i,--i  (Pre increment or pre decrement operators for integers) ,we can not make Unary operator as binary or binary as Unary operator.

 

Question No: 8      ( M - 2 )

 

Which arithmetic operators cannot have a floating point operand?

 

Answer:

Modulus operator:

This operator can only be used with integer operands ONLY

 

Question No: 9      ( M - 2 )

 

What are manipulators? Give one example.

 

Answer:

The manipulators are like something that can be inserted into stream, effecting a change in the behavior. For example, if we have a floating point number, say pi (л), and have written it as float pi = 3.1415926 ; Now there is need of printing the value of pi up to two decimal places i.e. 3.14. This is a formatting functionality. For this, we have a manipulator that tells about width and number of decimal points of a number being printed.

 

Question No: 10      ( M - 2 )

 

Write down piece of code that will declare a matrix of 3x3. And initialize all its locations with 0;

 

Answer:

int matrix [3] [3] ;

 

include

 

 

main () {

    int matrix [3][3];

    int inivalue = 0;

  

    for (int a=0;a<3;a++)

    { for (int b = 0;b<3;b++)

   { matrix[a][b]= inivalue;

    cout<

}

 

Question No: 11      ( M - 2 )

 

What is the difference between switch statement and if statement.

Answer:

The “If” statement is used to select among two alternatives. It uses a Boolean expression to decide which alternative should be executed. The switch statement is used to select among multiple alternatives. It uses an int expression to determine which alternative should be executed.

 

Question No: 12      ( M - 2 ) 

 

How can we initialize data members of contained object at construction time?

 

Answer:

Initializer list is used to initialize the contained objects at the construction time.

 

Question No: 13      ( M - 2 )

 

Can we overload new and delete operators?

 

Answer:

Yes, it is possible to overload new and delete operators to customize memory management. These operators can be overloaded in global (non-member) scope and in class scope as member operators.

 

Question No: 14      ( M - 2 )

 

 Suppose there is a template function ‘func’ having argument of type U and return type T. What will be the C++ syntax to call this function, passing a variable ‘x’ of type double and returning an int type?

 

Answer:

template

T func (T a, U b) {

  return (a

}

calling

int  i;

double x;

x = func

 

 

 

 

Question No: 15      ( M - 2 )

 

Which variable will be used in inner code block if we have the same names of variable at outer code block and inner code block?

 

Answer:

Simply: variable of the inner code is use in the inner code block.

 

Question No: 16      ( M - 2 )

 

 

What is the benefit of reference and where can we use it?

 

 Answer:

In references we give the memory address of the object, due to references we pass values without making the copy. Hence, when we have many values & we want efficiency we use references to avoid copy.

 

 

Question No: 17      ( M - 2 )

 

Write the C++ code for the declaration of overloaded stream insertion and stream extraction operator for the object d of type Date.

 

Answer:

Date operator >> (date & d1){

cout<<<”-”<<<”-”<

}

 

 

 

Question No: 18      ( M - 2 )

 

What is difference between endl and \n? 

 

Answer:

Endl is manipulator and it inserts new line character and flushes the stream.

 

\n is control character which is used to insert line break.

 

Question No: 19      ( M - 2 )

 

What does code optimization mean?

 

Answer:

It is process by which we make our code in such a way that it improves the speed of program. By use of optimization we refine program codes in such a way that it run faster and consume less memory. We do it in such a way that output quality is not compromised.

 

Question No: 20      ( M - 3 )

 

How is the following cout statement interpreted by compiler?

 

cout << a << b << c ;

 

Answer:

It will give a compiler error because a,b,c are not declared.

 

Question No: 21      ( M - 3 )

 

Suppose an object of class A is declared as data member of class B.

 

(i)                                     The constructor of which class will be called first? 

Answer: A

(ii)                                   The destructor of which class will be called first?

Answer: B

 

 

Question No: 22      ( M - 3 )

  

What will be the output of following functions if we call these functions three times?

 

1)

void func1(){

int x = 0;

x++;

cout << x << endl;

}

 

Answer:

 

1

1

1

2)

void func2(){

static int x = 0 ;

x++;

cout << x << endl ;

 

Answer:

1

2

3

 

Question No: 23      ( M - 3 )

 

If is not available in the system then what does calloc/malloc and new operator return?

 

Answer:

calloc/malloc and new operator return returns a null pointer to indicate that no memory is available

 

 Question No: 24      ( M - 3 )

 

What is the keyword ‘this’ and what are the uses of ‘this’ pointer?

 

Answer:

'this' is use to refer the current class member without using the name of the class.

 

 

Question No: 25      ( M - 3 )

 

Which one (copy constructor or assignment operator) will be called in each of the following code segment?

 

1) Matrix m1 (m2);

2) Matrix m1, m2;

m1 = m2;

3) Matrix m1 = m2;

 

Answer:

 

1) Matrix m1 (m2);   copy constructor

2) Matrix m1, m2;   

m1 = m2;               assignment operator

3) Matrix m1 = m2; assignment operator

 

Question No: 26      ( M - 3 )

 

What will be the output of following function if we call this function by passing int 5?

 

template T reciprocal(T x) {return (1/x); }

 

Answer:

 

0

The output will zero as 1/5 and its .05 but conversion to int make it zero

Above is prototype of template class so assume passing an int and returning an int

 

 

 

Question No: 27      ( M - 3 )

 

Identify the errors in the following member operator function and also correct them.

 

math * operator(math m);

math * operator (math m)

{

     math temp;

     temp.number= number * number;

     return number;

   

}

 

Answer:

 

The errors are in the arguments of the member operation function and also in the body of operator member function.

Correct function should be

math *operator (math *m)

{

     math temp;

     temp = m;

     temp.number= number * number;

     return temp.number;

   

}

 

 

Question No: 28      ( M - 3 )

 

What are the limitations of the friendship relation between classes?

 

Answer:

friendship relation between classes is a one way relation that is if one class declare friend another class then the another class is the friend of first class but not the first class if the friend of another class.

 

 

Question No: 29      ( M - 3 )

 

Define static variable. Also explain life time of static variable?

 

Answer:

When you declare a static variable (native data type or object) inside a function, it is created and initialized only once during the lifetime of the program.

 

Question No: 30      ( M - 5 )

 

What is difference between Unary and binary operators and how they can be overloaded?

 

Answer:

Unary operator takes one argument.

a ++ is an example of unary operator

 

Binary take two operators

+,-,* are example of binary operators

Overloaded binary operator may return any type

 

Here is general syntax of overloading

Return-type operator symbol (parameters);

 

Operator is keyword

 

Question No: 31      ( M - 5 )

 

What steps we must follow to design good program?

 

Answer 1:

 

Hence to design a program properly, we must:

·    Analyze a problem statement, typically expressed as a word problem.

·    Express its essence, abstractly and with examples.

·    Formulate statements and comments in a precise language.

·    Evaluate and revise the activities in light of checks and tests and

·    Pay attention to detail.

 

Answer 2:

 

Details:  we must check very details of any program. It is very important aspect of any program.  We must pay complete attention to calculation.

We must give attention to logic and its flow should be smooth.

 

Reusable: We must write program in such a way that we can reuse them in other program. Like we define function in such a way that in future if we need any similar kind of function is requires in that case we can easily modify or reuse it.

 

Comments: we write the details of important steps in the form of comments. We should use comments in such a way if any body else wanted to reuse or debug or codes he can easily understand it.

 

 

Code readability: We should use Tab and spaces so codes are easily readable.

 

User interface: we make interface user friendly. Use polite prompts for user while take input.

 

Question No: 32      ( M - 5 )

 

Write a program which defines five variables which store the salaries of five employees, using setw and setfill manipulators to display all these salaries in a column.

Note: Display all data with in a particular width and the empty space should be filled with character x

Output should be displayed as given below:

xxxxxx1000

xxxxxx1500

xxxxx20000

xxxxx30000

xxxxx60000

 

Answer:

 

#include

#include

main(){

       int sal1 =1000;

       int sal2 =1500;

       int sal3 =20000;

       int sal4 =30000;

       int sal5 =60000;

            

       

cout << setfill ('x') << setw (10);

cout<< sal1<

cout << setfill ('x') << setw (10);

cout<< sal2<

cout << setfill ('x') << setw (10);

cout<< sal3<

cout << setfill ('x') << setw (10);

cout<< sal4<

cout << setfill ('x') << setw (10);

cout<< sal5<

int i=0; 

cin>>i; // to stop the screen to show the output

}

 

 

 

Question No: 33      ( M - 5 )

 

Suppose we have the following class.

 

class Matrix

{

private:

int Elements[3][3];

};

 

Write the operator function of stream extraction operator (>>) for this class.

 

Answer:

Element operator >> (Element &element){

cout<

cout<

cout<

}

 

Question No: 34      ( M - 5 )

 

 

What is meant by user interface and class interface in C++ ? And what role a class interfaces can play in user interface [Marks 5]

 

Answer:

 

 

 

Question No: 35      ( M - 5 )

 

Write the general syntax of a class that has one function as a friend of a class along with definition of friend function.

 

Answer:

class frinedclass{

public:

friend int compute(exforsys e1)

};

Int compute(exforsys e1)
{
//Friend Function Definition which has access to private data
return int(e1.a+e2.b)-5;
}

 

Question No: 36      ( M - 5 )

 

What are the advantages and disadvantages of using templates?

 

Answer:

Many things can be possible without using templates but it does offer several clear advantages not offered by any other techniques:

 

Advantages:

·                     Templates are easier to write than writing several versions of your similar code for different types. You create only one generic version of your class or function instead of manually creating specializations.

·                     Templates are type-safe. This is because the types that templates act upon are known at compile time, so the compiler can perform type checking before errors occur.

·                     Templates can be easier to understand, since they can provide a straightforward way of abstracting type information.

·                     It helps in utilizing compiler optimizations to the extreme. Then of course there is room for misuse of the templates. On one hand they provide an excellent mechanism to create specific type-safe classes from a generic definition with little overhead.

 

Disadvantages:

On the other hand, if misused

·                     Templates can make code difficult to read and follow depending upon coding style.

·                     They can present seriously confusing syntactical problems esp. when the code is large and spread over several header and source files.

·                     Then, there are times, when templates can "excellently" produce nearly meaningless compiler errors thus requiring extra care to enforce syntactical and other design constraints. A common mistake is the angle bracket problem.

 

Question No: 37      ( M - 5 )

 

Suppose a program has a math class having only one data member number.

Write the declaration and definition of operator function to overload + operator for the statements of main function.

         math obj1, obj2;

         obj2= 10 + obj1  ; 

 

Answer:

#include

math

{

mth operator + (obj1,int x)

{

 

number temp;

temp=obj1.number+x;

return temp.number;

}

}

 

Question No: 38      ( M - 5 )

 

Write a program which defines three variables of type double which store three different values including decimal points, using setprecision manipulators to print all these values with different number of digits after the decimal number.

 

Answer:

 

#include

#include

main () {

double a = 12.12345;

double b = 13.123456;

double c = 14.1234567;

cout << setprecision (5) << a << endl;

cout << setprecision (2) << a << endl;

cout << setprecision (3) << a << endl;

}

 

Question No: 39      ( M - 5 )

 

Let we have a class,

class String

{

private:

char  buf[25];

};

Write code for assignment (=) operator function which assign one String object to other object. Your code should also avoid self assignment

 

Answer:

void String::operator = ( const String &other )

 { int length ;

 length = other.length();

delete buf;

 buf = new char [length + 1];

 strcpy( buf, other.buf ); }

 

Question No: 40      ( M - 5 )

 

Read the given below code and explain what task is being performed by this function

Matrix :: Matrix ( int row , int col )

{

    numRows = row ;

    numCols = col ;

    elements = new ( double * ) [ numRows ] ;

    for ( int  i = 0 ; i < numRows ; i ++ )

{

        elements [ i ] = new double [ numCols ] ;

        for ( int j = 0 ; j < numCols ; j ++ )

                elements [ i ] [ j ] = 0.0 ;

     }

}

Hint : This function belong to a matrix class, having

Number of Rows = numRows

Number of Columns = numCols

 

Answer:

In the above mentioned code, first of all programmer call the constructor who have two parameters for the number of rows & columns in the matrix. Then this constructor also dynamically allocates the memory for the elements of the matrix & also initializes the value of the all elements of matrix with 0.0


CS201 Solved Paper - Final term (2010) Subjective & Objective

Question No: 1      ( M - 1 ) .

&& is -------------------- operator.

       ► An arithmetic

       ► Logical

       ► Relational

       ► Unary



Question No: 2      ( M - 1 ) .

Which of the following function(s) is/are included in ctype.h header file?

       ► isdigit(int c)

       ► isxdigit(int c )

       ► tolower(int c)

       ► All of the above



Question No: 3      ( M - 1 ) .

Disks are _______________ devices having access time of _________ milliseconds.http://www.cognitivehelping.blogspot.com/

       ► Electro-physical, 6

       ► Electro-Mechanical, 4

       ► Electro-physical, 5

       ► Electro-Mechanical, 7



Question No: 4      ( M - 1 ) .

All preprocessor directives are started with the symbol______.

       ► *

       ► +
       ► @

       ► #



Question No: 5      ( M - 1 ) .

When we use manipulators in our program then which header file should be included?

       ► iostream.h

       ► stdlib.h

       ► stdio.h

       ► iomanip.h



Question No: 6      ( M - 1 ) .

setprecision is a parameter less manipulator.

       ► True

       ► False

http://www.cognitivehelping.blogspot.com/

Question No: 7      ( M - 1 ) .

Which of the following is NOT a preprocessor directive?

       ► #error

       ► #define

       ► #line

       ► #ndefine



Question No: 8      ( M - 1 ) .

We can do arithmetic with references like pointers.

       ► True

       ► False



Question No: 9      ( M - 1 ) .

What does (*this) represents?

       ► The current function of the class

       ► The current pointer of the class

       ► The current object of the class

       ► A value of the data member



Question No: 10      ( M - 1 ) .

Friend function of a class is ______________ .

       ► Member function

       ► Non-member function

       ► Private function

       ► Public function

http://www.cognitivehelping.blogspot.com/

Question No: 11      ( M - 1 ) .

A function can declare itself a friend of a class.

       ► True

       ► False



Question No: 12      ( M - 1 ) .

Overloaded delete operator function takes the same parameter as an argument returned by new operator function.

       ► True

       ► False



Question No: 13      ( M - 1 ) .

The second parameter of operator functions for << and >> are objects of the class for which we are overloading these operators.

       ► True

       ► False

http://www.cognitivehelping.blogspot.com/

Question No: 14      ( M - 1 ) .

A template function must have at least ---------- generic data type

       ► Zero

       ► One

       ► Two

       ► Three



Question No: 15      ( M - 1 ) .

A template function must have only generic data types.

       ► True

       ► False



Question No: 16      ( M - 1 ) .

We can not make a member function of a class as template function.

       ► True

       ► False

http://www.cognitivehelping.blogspot.com/

Question No: 17      ( M - 1 ) .

Which character is inserted at the end of string to indicate the end of string?

       ► new line

       ► tab

       ► null

       ► carriage return



Question No: 18      ( M - 1 ) .

Assignment operator is used for ___________.

       ► calculation

       ► reading

       ► assigning value to variables

       ► None of the given options.



Question No: 19      ( M - 1 ) .

The object _______________may be used both for file input and file output

       ► fstream,

       ► ifstream,

       ► ofstream,

       ► none of the given options.

http://www.cognitivehelping.blogspot.com/

Question No: 20      ( M - 1 ) .

Which of the following function calling mechanism is true for the function prototype given below?

float func(float &);

       ► Call by value

       ► Call by reference using pointer

       ► Call by reference using reference variable

       ► None of the given options



Question No: 21      ( M - 1 ) .

The programs, in which we allocate static memory, run essentially on ________

       ► Heap

       ► System Cache

       ► None of the given options

       ► Stack


http://www.cognitivehelping.blogspot.com/

Question No: 22      ( M - 1 ) .

Overloaded delete operator function takes parameter of void pointer and returns ________.

       ► void

       ► void pointer

       ► pointer to an object

       ► pointer of type int



Question No: 23      ( M - 1 ) .

What should be the return type of the constructor?

       ► void pointer

       ► int

       ► same as object type

       ► constructors do not return any thing



Question No: 24      ( M - 1 ) .

It is a way of reusing the code when we contain objects of our already written classes into a new class,

       ► True

       ► False



Question No: 25      ( M - 1 ) .

Templates are not type safe.

       ► true

       ► false



Question No: 26      ( M - 1 ) .

The functions used for dynamic memory allocation return pointer of type ______

  

       ► int

       ► float

       ► void

       ► double



Question No: 27      ( M - 2 )

Write a declaration statement for an array of 10 elements of type float. Include an initialization statement of the first four elements to 1.0, 2.0, 3.0 and 4.0.

Answer:

float  floatArry[10] = {1.0,2.0,3.0,4.0};

Question No: 28      ( M - 2 )

Write the general syntax for the declaration of pre-increment and post-increment member operator function.

Classname operator ++(); ---- pre increment

Classname operator ++(int)  ---- post increment

Question No: 29      ( M - 2 )

What is difference between endl and \n? 

Endl  is manipulator and  it insert new line character and flush the stream.

\n  is control charcter which is used to insert linebreak

Question No: 30      ( M - 2 )

What does code optimization mean?

It is process by which we make over code such a way that it improves the speed of program. By use of optimization we refine program codes in such a way that it run faster and consume less memory. We do it in such a way that output quality is not compromised

Question No: 31      ( M - 3 )

How is the following cout statement interpreted by compiler?

cout << a << b << c ;

It will give  a compiler error because a,b,c are not declared.

Question No: 32      ( M - 3 )

Suppose an object of class A is declared as data member of class B.

(i) The constructor of which class will be called first?  Answer : A

(ii) The destructor of which class will be called first?  Answer : B

Question No: 33      ( M - 3 )

Define static variable. Also explain life time of static variable?

Question No: 34      ( M - 5 )

What is difference between Unary and binary operators and how they can be overloaded?

Opertaror is keyword

Question No: 35      ( M - 5 )

What steps we must follow to design good program?

 

Question No: 36      ( M - 5 )

 Write a program which defines five variables which store the salaries of five employees, using setw and setfill manipulators to display all these salaries in a column.

Note: Display all data with in a particular width and the empty space should be filled with character x

Output should be displayed as given below:

xxxxxx1000

xxxxxx1500

xxxxx20000

xxxxx30000

xxxxx60000

Answer:

#include <iostream.h>

#include <iomanip.h>

main(){

       int sal1 =1000;

       int sal2 =1500;

       int sal3 =20000;

       int sal4 =30000;

       int sal5 =60000;

            

       

cout << setfill ('x') << setw (10);

cout<< sal1<<endl;

cout << setfill ('x') << setw (10);

cout<< sal2<<endl;

cout << setfill ('x') << setw (10);

cout<< sal3<<endl;

cout << setfill ('x') << setw (10);

cout<< sal4<<endl;

cout << setfill ('x') << setw (10);

cout<< sal5<<endl;

int i=0; 

cin>>i; // to stop the screen to show the output

}



CS201 Solved Paper - Final term (2010)(2) Subjective & Objective

Question No: 1      ( M - 1 ) .
*.doc is _____________ by type.
.
       ► Sequential File
       ► Random Access File
       ► Data File
       ► Record File
Question No: 2      ( M - 1 ) .
Which of the following is NOT a preprocessor directive?
       ► #error
       ► #define
       ► #line
       ► #ndefine

Question No: 3      ( M - 1 ) .
The return type of operator function must always be void.
       ► True
       ► False
The syntax of the prototype of the overloaded operator function is: return-type operator operator-symbol (parameter-list);
Question No: 4      ( M - 1 ) .
What does (*this) represents?
       ► The current function of the class
       ► The current pointer of the class
       ► The current object of the class
       ► A value of the data member
Whenever an object calls a member function, the function implicitly gets a pointer from the calling object. That pointer is known as this pointer. ‘this’ is a key word. We cannot use it as a variable name. ‘this’ pointer is present in the function, referring to the calling object. For example, if we have to refer a member, let’s say buf, of our String class, we can write it simply as: buf ;
 
Question No: 5      ( M - 1 ) .
The statement cin.get (); is used to,
       ► Read a string from keyboard
       ► Read a character from keyboard
       ► Read a string from file
       ► Read a character from file

Question No: 6      ( M - 1 ) .
 When we do dynamic memory allocation in the constructor of a class, then it is necessary to provide a destructor.
       ► True
       ► False
Question No: 7      ( M - 1 ) .
 Overloaded new operator function takes parameter of type size_t and returns
       ► void (nothing)
       ► void pointer
       ► object pointer
       ► int pointer
Question No: 8      ( M - 1 ) .
The second parameter of operator functions for << and >> are objects of the class for which we are overloading these operators.
       ► True
       ► False
The second parameter to operator << is an object of the class that we are overloading the operator for. Similar is the case for operator >>.
 
Question No: 9      ( M - 1 ) .
 C++ is a case-sensitive language
       ► True
       ► False
Question No: 10      ( M - 1 ) .
 To include code from the library in the program, such as iostream, a directive would be called up using this command.
       ► #include “iostream.h”
       ► include
       ► include
       ► #include
Question No: 11      ( M - 1 ) .
 A template function must have only generic data types.
       ► True
       ► False
Its not compulsory, only min we have one generic data type but we can have native data type as well.
 
Question No: 12      ( M - 1 ) .
 Template class can not have static variables.
       ► True
       ► False
Question No: 13      ( M - 1 ) .
What will be the correct syntax to assign an array named arr of 5 elements to a pointer ptr?
       ► *ptr = arr ; 
       ► ptr = arr ;
       ► *ptr = arr[5] ;
       ► ptr = arr[5] ; 
Question No: 14      ( M - 1 ) .
What will be the correct syntax to access the value of fourth element of an array using pointer ptr?
       ► ptr[3]
       ► (ptr+3)
       ► *(ptr+3)
       ► Both 1and 3
try this demo program to confirm result I wrote for you.
2 option will print the reference rest 1,3 are righ options
#include
 #include
// #include
 
main()
{
int myarr [4]= {0,1,2,3};
int *ptr ;
ptr = myarr;
cout<
cout<<*(ptr+3);
cout<<(ptr+3);
int i = 0;
cin>> i;
}
 
Question No: 15      ( M - 1 ) .
 If most significant bit of un-signed number is 1 then it represents a positive number.
       ► True
       ► False
The most significant bit is used as a sign bit. If this bit is zero, the number is considered positive. However, if it is 1, the number will be considered negative.
Question No: 16      ( M - 1 ) .
 If there is a symbol (& sign) used with the variable name followed by data type then it refers to _____ and if & is being used with variable name then it refers to _____.
       ► Address of variable, reference variable
       ► Reference variable, value of variable
       ► Reference variable, address of variable
       ► Address of variable, value of variable
we see a data type followed by & sign, it’s a reference. And when the & sign is being used in the code with a variable name then it is the address of the variable
Question No: 17      ( M - 1 ) .
 We can also do conditional compilation with preprocessor directives.
       ► True
       ► False
Question No: 18      ( M - 1 ) .
 The default value of a parameter can be provided inside the ________________
       ► function prototype
       ► function definition
       ► both function prototype or function definition
       ► none of the given options.
The default value of a parameter is provided inside the function prototype or function definition.
Question No: 19      ( M - 1 ) .
 Classes defined inside other classes are called ________ classes
       ► looped
       ► nested
       ► overloaded
       ► none of the given options.
Question No: 20      ( M - 1 ) .
 What purpose do classes serve?
       ► Data encapsulation
       ► Providing a convenient way of modeling real-world objects
       ► Simplifying code reuse
       ► All of the given options
Question No: 21      ( M - 1 ) .
cognitivehelping
 Every class contains _______________.
       ► Constructor
       ► Destructor
       ► Both a constructor and a destructor
       ► None of the given options
Question No: 22      ( M - 1 ) .
 new operator is used to allocate memory from the free store during
       ► Compile Time
       ► Run Time
       ► Link Time
       ► None of the given options
Question No: 23      ( M - 1 ) .
 When an object of a class is defined inside another class then,
      ► Destructor of enclosing class will be called first
  ► Destructor of inner object will be called first
       ► Constructor and Destructor will be called simultaneously
       ► None of the given options
Question No: 24      ( M - 1 ) .
 It is possible to define a class within another class.
       ► True
       ► False
Question No: 25      ( M - 1 ) .
 New and Delete are also used with ___________ and data types as well.
       ► Class, Objects
       ► Structures, Pointers
       ► Both Class and structures
       ► None of above
we prefer to use new and delete operators as they are designed to work with classes and objects
Question No: 26      ( M - 1 ) .
 With New keyword, data types and class members are initialized with meaningful values instead of garbage.
       ► True
       ► False
Question No: 27      ( M - 2 )
 How many arguments a Unary Operator take? Can we make a binary operator as unary operator?
Ans: Unary operator takes only one aurgument like i++ or i— (Post increment or post decrement operators for intergers) or ++i,--i  (Pre increment or pre decrement operators for intergers) ,we can not make Unary operator as binary or binary as Unary operator.
Question No: 28      ( M - 2 )
 Which arithmetic operators cannot have a floating point operand?
Ans:
Modulus operator
This operator can only be used with integer operands ONLY
Question No: 29      ( M - 2 )
 What are manipulators? Give one example.
Ans:
The manipulators are like something that can be inserted into stream, effecting a change in the behavior. For example, if we have a floating point number, say pi (л), and have written it as float pi = 3.1415926 ; Now there is need of printing the value of pi up to two decimal places i.e. 3.14 . This is a formatting functionality. For this, we have a manipulator that tells about width and number of decimal points of a number being printed.
Some manipulators are parameter less. We simply use the name of the manipulator that works. For example, we have been using endl, which is actually a manipulator, not data. When we write cout << endl ; a new line is output besides flushing the buffer. Actually, it manipulates the output stream.
Question No: 30      ( M - 2 )
 Write down piece of code that will declare a matrix of 3x3. And initialize all its locations with 0;
Ans:
int matrix [3] [3] ;
 
include<iostream.h>
 
 
main () {
    int matrix [3][3];
    int anyvalue = 12
  
    for (int a=0;a<3;a++)
    { for (int b = 0;b<3;b++)
   { matrix[a][b]= anyvalue;
    cout<<matrix[a][b]<<endl;}}
    int i=0;
    cin>>i;
}
Question No: 31      ( M - 3 )
 Which one (copy constructor or assignment operator) will be called in each of the following code segment?
1) Matrix m1 (m2);
2) Matrix m1, m2;
m1 = m2;
3) Matrix m1 = m2;
Ans:
1) Matrix m1 (m2);   copy constructor
2) Matrix m1, m2;   
m1 = m2;              assignment operator
3) Matrix m1 = m2;  assignment operator
Question No: 32      ( M - 3 )
 What will be the output of following function if we call this function by passing int 5?
template T reciprocal(T x) {return (1/x); }
Ans:
1/5
Question No: 33      ( M - 3 )
 Identify the errors in the following member operator function and also correct them.
math * operator(math m);
math * operator (math m)
{
     math temp;
     temp.number= number * number;
     return number;
   
}
ANS:
The errors are in the arguments of the member operation function and also in the body of operator member function.
Correct function should be
math *operator(math *m);
math *operator (math *m)
{
     math temp;
     temp = m;
     temp.number= number * number;
     return temp.number;
   
}
Question No: 34      ( M - 5 )
 Write a program which defines three variables of type double which store three different values including decimal points, using setprecision manipulators to print all these values with different number of digits after the decimal number.
Ans:
#include
#include
int main ()
{
  double x1 = 12345624.72345
double x2 =  987654.12345
double x3 =  1985.23456
  cout << setprecision (3) << x1<< endl;
  cout << setprecision (4) << x2 << endl;
cout << setprecision (5) << x3<< endl;
  return 0;
}
Question No: 35      ( M - 5 )
 What are the advantages and disadvantages of using templates?
Ans:
Many thing can be possible without using templates but it do offer several clear advantages not offered by any other techniques:
Advanatages:
 • Templates are easier to write than writing several versions of your similar code for different types. You create only one generic version of your class or function instead of manually creating specializations.
• Templates are type-safe. This is because the types that templates act upon are known at compile time, so the compiler can perform type checking before errors occur.
 • Templates can be easier to understand, since they can provide a straightforward way of abstracting type information.
• It help in utilizing compiler optimizations to the extreme. Then of course there is room for misuse of the templates. On one hand they provide an excellent mechanism to create specific type-safe classes from a generic definition with little overhead.
Disadvantages:
On the other hand, if misused
• Templates can make code difficult to read and follow depending upon coding style.
• They can present seriously confusing syntactical problems esp. when the code is large and spread over several header and source files.
 • Then, there are times, when templates can "excellently" produce nearly meaningless compiler errors thus requiring extra care to enforce syntactical and other design constraints. A common mistake is the angle bracket problem.
Question No: 36      ( M - 5 )
 Suppose a program has a math class having only one data member number.
Write the declaration and definition of operator function to overload + operator for the statements of main function.
         math obj1, obj2;
         obj2= 10 + obj1  ;  
Ans:
#include
math
{
mth operator + (obj1,obj2)
mth operator + (obj1,obj2)
{
 mth operator + (obj1,obj2)
mth operator + (obj1,obj2)
}
}

CS201 Solved Paper - Final term (2010)(3) Subjective & Objective

Question No: 1      ( M - 1 ) . 
In if structure the block of statements is executed only,
       ► When the condition is false
       ► When it contain arithmetic operators
       ► When it contain logical operators
       ► When the condition is true 
Question No: 2      ( M - 1 ) .
Header file: fstream.h includes the definition of the stream classes __________.
       ► ifstream, fstream, cout
       ► ifstream, fstream, ofstream
       ► fstream, cin, cout
       ► None of the above
Question No: 3      ( M - 1 ) . 
To access the data members of structure _______ is used.
       ► dot operator (.)
       ► * operator
       ►  operatorà
       ► None of given. 
Question No: 4      ( M - 1 ) . 
eof( ), bad( ), good( ), clear( ) all are manipulators.
       ► True
       ► False 
Question No: 5      ( M - 1 ) . 
Which kind of functions can access private member variables of a class?
       ► Friend functions of the class
       ► Private member functions of the class
       ► Public member functions of the class
       ► Friend, private and public functions
Rational:

By default any class function either its public or private has access to its private variable. 
Only these private members are not accessible by function of other class.
Only friend function has special privilege that it has access to any private variable of its friend class.
If we take option No.1 as correct then it will negate the very basic rule of class definition.
As we know that any variable with in the class by default is a private variable, which can be used in the public and private functions of that class freely.
Our Question does not speak about the outer classes, it  points only to function level that which kind of function can access the private variable.
(zubair, cognitivehelping.jul2011)
Question No: 6      ( M - 1 ) .
The return type of operator function must always be void.
       ► True
       ► False
Question No: 7      ( M - 1 ) .
Friend function of a class is ______________ .
       ► Member function
       ► Non-member function             
       ► Private function
       ► Public function
Question No: 8      ( M - 1 ) .
Function implementation of friend function must be defined outside the class.
       ► True
       ► False (any where in the class)
Question No: 9      ( M - 1 ) . 
The normal source of cin object is,
       ► File
       ► Disk
       ► Keyboard
       ► RAM
Question No: 10      ( M - 1 ) .
Which of the following is correct way to initialize a variable x of int type with value 10?
       ► int x ; x = 10;
       ► int x = 10;
       ► int x, x = 10;
       ► x = 10; 
Question No: 11      ( M - 1 ) . 
Consider the following code segment. What will be the output of the following program?
int func(int) ;
int num = 10 ;
int main(){
int num ;
num = 5 ;
cout << num ;
cout << func(num) ;
}
int func(int x){
return num ;
}
       ► 5, 5  
       ► 10, 5
       ► 5, 10 
       ► 10, 10
Question No: 12      ( M - 1 ) . 
With template function, the compiler automatically detects the passed data and generates a new copy of function using passed data.
       ► True
       ► False
Question No: 13      ( M - 1 ) .
What will be the correct syntax to declare two-dimensional array of float data type?
       ► float arr{2}{2} ;
       ► float arr[2][2] ;
       ► float arr[2,2] ;
       ► float[2][2] arr ;   
Question No: 14      ( M - 1 ) .
The first parameter of operator function for << operator,
       ► Must be passed by value
       ► Must be passed by reference
       ► Can be passed by value or reference
       ► Must be object of class 
Question No: 15      ( M - 1 ) .
Heap is constantly changing in size.
       ► True
       ► False
Question No: 16      ( M - 1 ) .
While calling function, the arguments are assigned to the parameters from
       ► left to right.
       ► right to left 
       ► no specific order is followed
       ► none of the given options.
Question No: 17      ( M - 1 ) .
Classes defined inside other classes are called ________ classes
       ► looped
       ► nested
       ► overloaded
       ► none of the given options.
Question No: 18      ( M - 1 ) .
If we define an identifier with the statement #define PI 3.1415926 then during the execution of the program the value of PI __________
       ► can not be replace
       ► None of the given options
       ► Remain constant.
       ► can be changed by some operation 
Question No: 19      ( M - 1 ) . 
Which value is returned by the destructor of a class?
       ► A pointer to the class.
       ► An object of the class.
       ► A status code determining whether the class was destructed correctl
       ► Destructors do not return a value.
Question No: 20      ( M - 1 ) . 
Every class contains _______________.
       ► Constructor
       ► Destructor
       ► Both a constructor and a destructor
       ► None of the given options
Question No: 21      ( M - 1 ) .
A template function must have
       ► One or more than one arguments
       ► Only one argument
       ► Zero argument
       ► None of the given options 
http://groups.google.com/group/cognitivehelping/
Question No: 22      ( M - 1 ) . 
Structured Query Language is used for ______________
       ► Databases Management
       ► Networks
       ► Writing Operating System
       ► none of the given options
Question No: 23      ( M - 1 ) . 
When a call to a user-defined function finishes, the variable defined inside the function is still in existence.
       ► True
       ► False
Question No: 24      ( M - 1 ) . 
The precedence of an operator can be changed through operator overloading.
       ► True
       ► False
Question No: 25      ( M - 1 ) .
A Matrix can be composed of ints, floats or doubles as their elements. Best way is to handle this , _______________
       ► Write a separate class to handle each
       ► Use templates
       ► Use strings to store all types
       ► None of the given options
A Matrix can be composed of ints, floats or doubles as their elements. Instead of handling these data types separately, we can write Matrix class as a template class and write code once for all native data types.
Write Matrix class as a template class and write code once for all native data types
Question No: 26      ( M - 1 ) .
"delete" operator is used to return memory to free store, which is allocated by the "new" operator.
       ► True
       ► False
Question No: 27      ( M - 2 )
What is the difference between switch statement and if statement.
Question No: 28      ( M - 2 ) 
How can we initialize data members of contained object at construction time?
Question No: 29      ( M - 2 ) 
How the data members of a class are initialized with meaningful values?
Question No: 30      ( M - 2 )
Can we overload new and delete operators?
Question No: 31      ( M - 3 )
What will be the output of following functions if we call these functions three times?
1)
void func1(){
int x = 0;
x++;
cout << x << endl;
}
2)
void func2(){
static int x = 0 ;
x++;
cout << x << endl ;
}   
Question No: 32      ( M - 3 )
 What is the keyword ‘this’ and what are the uses of ‘this’ pointer?
Question No: 33      ( M - 3 )
Suppose an object of class A is declared as data member of class B.
(i) The constructor of which class will be called first?
(ii) The destructor of which class will be called first?
Question No: 34      ( M - 5 )
Write the general syntax of a class that has one function as a friend of a class along with definition of friend function.
Question No: 35      ( M - 5 )
Write down the disadvantages of the templates.
Question No: 36      ( M - 5 )
Write a program which defines five variables which store the salaries of five employees, using setw and setfill manipulators to display all these salaries in a column.
Note: Display all data with in a particular width and the empty space should be filled with character x
Output should be displayed as given below:
xxxxxx1000
xxxxxx1500
xxxxx20000
xxxxx30000
xxxxx60000

CS201 Solved Paper - Final term (2011)(1) Subjective & Objective

Operator overloading can be performed through__________________.
       ► Classes
       ► Functions 
       ► Operators
       ► Reference

Question No: 2      ( M - 1 ) .
When a value is referred by a normal variable then it is known as,
       ► Direct Reference
         ► Indirect Reference
       ► Partial Reference
       ► Proper Reference
When a value is referred by a normal variable is known as direct reference
Question No: 3      ( M - 1 ) .
Which of the following function is used to increase the size of already allocated memory chunk? 
     ► malloc

► calloc

            ► realloc

            ► free

(FQ, cognitivehelping, 2010)

Question No: 4      ( M - 1 ) .
Which of the following is NOT a preprocessor directive?
       ► #error
       ► #define
       ► #line  

       ► #ndefine

 

list of preprocessors
• #include • #include “filename” • #define • #undef • #ifdef • #ifndef • #if • #else • #elif • #endif • #error • #line • #pragma • #assert


Question No: 5      ( M - 1 ) .
The stream objects cin and cout are included in which header file?
         ► iostream.h
       ► fstream.h
       ► istream.h
       ► ostream.h
http://www.cognitivehelping.blogspot.com/

Question No: 6      ( M - 1 ) .
Overloaded delete operator function takes the same parameter as an argument returned by new operator function.
        ► True
       ► False
  The same pointer that is returned by the new operator, is passed as an argument to the delete operator. These rules apply to both, if operators (new and delete) are overloaded as member or non-member operators (as global operators).

 

Question No: 7      ( M - 1 ) .
When an array of object is created dynamically then there is no way to provide parameterized constructors for array of objects.
         ► True 
       ► False
if we are allocating an array of objects, there is no way to pass arguments to objects’ constructors. Therefore it is required that the objects that are stored in such an array have a no-argument constructor.


Question No: 8      ( M - 1 ) .
C is widely known as development language of _______ operating system.
       ► Linux
       ► Windows
         ► Unix
  ► Mac OS
In the start C became widely known as the development language of the UNIX operating system, and the UNIX operating system was written by using this C language. The C language is so powerful that the compiler of C and other various operating systems are written in C.
http://cognitivehelping.ne

Question No: 9      ( M - 1 ) .
Computer can understand only machine language code.
        ► True 
       ► False
Question No: 10      ( M - 1 ) .
We can not define a function as a friend of a Template class.
       ► True
         ► False

 

Class templates can have friends. A class or class template, function, or function template can be a friend to a template class. Friends can also be specializations of a class template or function template, but not partial specializations.


Question No: 11      ( M - 1 ) .
What will be the value of ‘a’ and ‘b’ after executing the following statements?
a = 3;
b = a++;
       ► 3, 4
       ► 4, 4
       ► 3, 3
       ► 4, 3



Question No: 12      ( M - 1 ) .
Consider the following code segment. What will be the output of following code?
int addValue (int *a){
int b = (*a) + 2;
return b ;
}  
main () {
int x =6 ;
cout <<  x << “,” ;
cout << addValue(&x) << “,” ;
cout <<  x ;
}
 http://cognitivehelping.ne

       ► 6,8,6 

       ► 6,6,8
       ► 6,8,8
       ► 6,6,6
http://www.cognitivehelping.blogspot.com/


Question No: 13      ( M - 1 ) .
 _______ is used to trace the logic of the program and correct the logical errors.
       ► Compiler
       ► Editor
       ► Linker
       ► Debugger



Question No: 14      ( M - 1 ) .
new and delete are _____ whereas malloc and free are _____.
       ► Functions, operators
       ► Classes, operators
       ► Operators, functions
       ► Operators, classes
Hence, we can call new and delete operators, P# 342
we have allocated a memory space for our use by malloc function. P# 285


Question No: 15      ( M - 1 ) .
Like member functions, ______ can also access the private data members of a class.
       ► Non-member functions
       ► Friend functions
       ► Any function outside class
       ► None of the given options
Question No: 16      ( M - 1 ) .
Which situation would require the use of a non-member overloaded operator?
       ► The overloaded operator is an Assignment operator.
 http://cognitivehelping.ne 
       ► The left most operand is an object of a class. 
       ► The left operand is built-in data type.
       ► The operator returns a reference.
(100% confirmed by Rainbowbright)
Question No: 17      ( M - 1 ) .
The stream insertion and stream extraction operators are already overloaded for ______.
       ► User-defined data types
       ► Built-in data types
       ► User-defined and built-in data types
       ► None of the given options
Question No: 18      ( M - 1 ) .
If we define an identifier with the statement #define PI 3.1415926 then during the execution of the program the value of PI __________.
       ► can not be replaced
       ► None of the given options
       ► Remain constant.
       ► can be changed by some operation



Question No: 19      ( M - 1 ) . cognitivehelping
Assignment operator is -------------------------associative.
       ► right
       ► left
       ► binary
       ► unary
You can assign values to several variables in a single statement. For example, the following code sets the contents of apples and oranges to the same value:
apples = oranges = 10;
The assignment operator is right associative, so this statement executes by first storing the value 10 in oranges and then storing the value in oranges in apples, so it is effectively
apples = (oranges = 10);

http://www.cognitivehelping.blogspot.com/

Question No: 20      ( M - 1 ) .
When ever dynamic memory allocation is made in C/C++, it is freed_____________.
       ► Explicitly
       ► Implicitly
       ► Both explicitly and implicitly
       ► None of the given options

(Rainbowbright, cognitivehelping. jul2011)
Question No: 21      ( M - 1 ) .
The appropriate data type to store the number of rows and colums of the matrix is____________.
       ► float
       ► int
       ► char
       ► none of the given options.


Question No: 22      ( M - 1 ) .
Which of the following function do NOT initialize the chunk of memory to all zero?
       ► calloc() function 
       ► Both malloc() and calloc()
       ► None of the above 
       ► malloc() function 

The malloc function differs from calloc in the way that the space allocated by malloc is not initialized and contains any values initially.

Question No: 23      ( M - 1 ) .
The function free() returns back the allocated memory got thorough calloc and malloc to _____ .
       ► stack
       ► heap
       ► stack and heap
       ► None of the given options
http://cognitivehelping.ne

Question No: 24      ( M - 1 ) .
width() is member function of _____________
       ► cin object
       ► cout object
       ► Both cin and cout object
       ► None of the given option
  

 Question No: 25      ( M - 1 ) .

Templates are not type safe.
       ► true
       ► false

 

Templates are type-safe. This is because the types that templates act upon are known at compile time, so the compiler can perform type checking before errors occur.
Question No: 26      ( M - 1 ) .
A Matrix can be composed of ints, floats or doubles as their elements. Best way is to handle this , _______________
       ► Write a separate class to handle each
       ► Use templates
       ► Use strings to store all types
       ► None of the given options
Matrix can be composed of ints, floats or doubles as their elements. Instead of handling these data types separately, we can write Matrix class as a template class and write code once for all native data types. While writing this template class, the better approach to write will be, to go with a simple data type (e.g. double) first to write a Matrix class and then extend it to a template class later.


Question No: 27      ( M - 2 )
Give the general syntax of class template.
template
class myclass { ---} ;
 http://cognitivehelping.ne
Question No: 28      ( M - 2 )
What is a truth Table?
There are some areas where the decision structures become very complicated. Sometimes, we find it difficult to evaluate a complicated logical expression. Sometimes the logic becomes extremely complicated so that even writing it as a simple syntax statement in any language. It becomes complicated to determine what will be evaluated in what way. We know the concept of truth table. The truth tables are very important. These are still a tool available for analyzing logical expressions. We will read logic design in future, which is actually to do with chips and gates. How we put these things together.
 http://www.cognitivehelping.blogspot.com/ 
 Question No: 29      ( M - 2 )

What will be the output of following code, if user input a number 123?
int input ;
cin >> oct >> input;
cout << hex << input ;
 
53
Rational: it will take 123 as octal and print it in hex form which is 53.
 
Question No: 30      ( M - 2 )
What is principle of friendship in the context of functions and classes?
Class can declare a friend function and someone from outside the class cannot declare itself friend of a class.
A friend function can access the private variables of class just like a member function
 
Question No: 31      ( M - 3 )
What are the limitations of the friendship relation between classes?
Class can declare a friend class from inside and someone from outside the class cannot declare itself friend of a class.
 
Question No: 32      ( M - 3 )
Suppose an object of class A is declared as data member of class B.
(i) The constructor of which class will be called first? a
(ii) The destructor of which class will be called first?b
 
Question No: 33      ( M - 3 )
Define static variable. Also explain life time of static variable?
When you declare a static variable (native data type or object) inside a function, it is created and initialized only once during the lifetime of the program
 
Question No: 34      ( M - 5 )
 Write a program which defines three variables of type double which store three different values including decimal points, using setprecision manipulators to print all these values with different number of digits after the decimal number.
#include
#include
main () {
double a = 12.12345;
double b = 13.123456;
double c = 14.1234567;
cout << setprecision (5) << a << endl;
cout << setprecision (2) << a << endl;
cout << setprecision (3) << a << endl;
}
Question No: 35      ( M - 5 )
Let we have a class,
class String
{
private:
char  buf[25];
};
Write code for assignment (=) operator function which assign one String object to other object. Your code should also avoid self assignment
 
Answer:
void String::operator = ( const String &other )
 { int length ;
 length = other.length();
delete buf;
 buf = new char [length + 1];
 strcpy( buf, other.buf ); }
 
Question No: 36      ( M - 5 )
Read the given below code and explain what task is being performed by this function
Matrix :: Matrix ( int row , int col )
{
    numRows = row ;
    numCols = col ;
    elements = new ( double * ) [ numRows ] ;
    for ( int  i = 0 ; i < numRows ; i ++ )
{
        elements [ i ] = new double [ numCols ] ;
        for ( int j = 0 ; j < numCols ; j ++ )
                elements [ i ] [ j ] = 0.0 ;
     }
}
Hint : This function belong to a matrix class, having
Number of Rows = numRows
Number of Columns = numCols


CS201 Solved Paper - Final term (2011)(2) Subjective & Objective with Ref



QuestioNo: 1                    ( Marks: 1 ) - Pleaschoosone
When we define an array of objects then,
· Destructor will call once for whole array
· Destructor will call for each object of the array
· Destructor will never call
· Dependon the sizof array
 
QuestioNo: 2                    ( Marks: 1 ) - Pleaschoosone
Wcaalso creataarraouser defindattype
· True
· False
 
Question No: 3                   ( Marks: 1 ) - Please choose one
What is the sequence of event(s) when allocating memory using new operator?
· Only blocof memory is allocatefor objects
· Only constructor is callefor objects
· Memory iallocated first before calling constructor
· Constructor is called firsbefore allocating memory
If a single object is allocated, operator new is called to allocate memory, and then the constructor is called to initialize the object.
·   If an array of objects is allocated, operator new[] is called to allocate memory for the whole array, and then the constructor is called for each element of the array.
·   When a single object is deleted, the destructor for the object is called first, and then operator delete is called to free the memory occupied by the object.
· When an array of objects is deleted, the destructor for each element of the array object is called first, and then operator delete[] is called to free the memory occupied by the array.
QuestioNo: 4                    ( Marks: 1 ) - Pleaschoosone
We can delete an array of objects without specifying [] brackets if a class is not doindynamic memorallocatiointernally
· True
· False
Although, this is good to deallocate an array of objects without specifying array operator ([]) as there is no dynamic memory allocation occurring from inside the Date class. But this is a bad practice.
 
Question No: 5                   ( Marks: 1 ) - Please choose one
The declaratooPlu(+membeoperatofunction is
·   Class-Nam operator + (Class-Nam rhs)
·   Operator Class-Name + ( )
·   Operator Class-Name + ( rhs)
· Class-Nam operator + ( )
Page 371,373 example are here
Complex operator + (Complex & );
Complex operator + (parameter-list);
The syntax of the prototype of the overloaded operator function is:
return-type operator operator-symbol (parameter-list);
operator is the keyword here. An example of this will be as follows:
Complex operator + (Complex & );
 
Question No: 6                   ( Marks: 1 ) - Please choose one
Th second parameter o operato functions fo << and >> are objects of the class for which we are overloading these operators
· True (not sure)
· False
Question No: 7                   ( Marks: 1 ) - Please choose one
Whic o th followin i correc wa t initializ  variabl  o in typ with value 10?
· int x ; x 10 ;
· int x 10 ;
· int x, x 10;
· x 10 ;
variable already created in question only it is asking for initialization.
 
QuestioNo: 8                    ( Marks: 1 ) - Pleaschoosone
Default mechanism of function calling in case of array is                              and in case of variable is _              
· Call by valuecall by reference
· Call by referene, call by reference
· Call by reference, calby value
· Call by value, call by value
 
QuestioNo: 9                    ( Marks: 1 ) - Pleaschoosone
What doeSTstanfor?
· Source template library
· Standartemplate library
· Stream template library
· Standard temporary library
STL stands for Standard Template Library
Question No: 10                    ( Marks: 1 ) - Please choose one
Skill(s) that is/arneedebprogrammer                                                                   
· Paying attention to detail
· Think about the reusability
· Think about user interface
· All of the given options
Programming is an important activity as people life and living depends on the programs one make. Hence while programming one should
Paying attention to detail
Think about the reusability.
Think about user interface
Understand the fact the computers are stupid
Comment the code liberally
Question No: 11                    ( Marks: 1 ) - Please choose one
For which array, the size of the array should be one more than the number of elementiaarray?
· int
· double
· float
· char
 
 
 
Question No: 12                  ( Marks: 1 )     - Please choose one
new and delete are                            whereas malloc and free are              
· Functions, operators
· Classes, operators
· Operators, functions
· Operators, classes
new and delete are operators in c++
C functions like malloc() and free() functions can also be used from within C++ code
 
Question No: 13                    ( Marks: 1 ) - Please choose one
The prototype of friend functions must be written                             the class and its definition
must be written                        
· inside, inside the class
· inside, outsidthe class
· outside, inside the class
· outsideoutsidthe class
 
Question No: 14                    ( Marks: 1 ) - Please choose one
Frienfunctioof a class ar                                 of a class.
· Non-member functions not sure
· Friend functions
· Any functiooutsidclass
· Nonof the given options
Question No: 15                    ( Marks: 1 ) - Please choose one
If overloaded plus operator is implemented as non-member function then which
of the following statement will be true for the statement given below?
obj3 = obj1 + obj2 ;
· obj2 will be passed as an argument to + operator whereas obj2 will drive the + operator
· obj1 will drive the + operator whereas obj2 will be passed as an argument
to + operator
· Both object(obj1, obj2) will be passeas arguments to the operator
· Any of the object(obj1, obj2) can drive the + operator
 c3 = c1 + c2 ; In the above statement ( c3 = c1 + c2; ), c1 is the object that is calling or driving the operator. c2 object is being passed as an argument to the operator. So c1 and c2 objects are added by the operator and resultant
Question No: 16                    ( Marks: 1 ) - Please choose one
Whic on o th followin i th declaratio o overloade pre-increment operator implemented as member function?
· Class-name operator +() ;
· Class-name operator +(int) ;
· Class-name operator ++() ;
· Class-name operator ++(int) ;
Overloading Unary Operators
// Preincrement operator overloaded as a member function.
Date Date::operator++()
{
   helpIncrement();
   return *this;  // value return; not a reference return
}
 
// Postincrement operator overloaded as a member function.
// Note that the dummy integer parameter does not have a
// parameter name.
Date Date::operator++(int)
{
   Date temp = *this;
   helpIncrement();
 
   // return non-incremented, saved, temporary object
   return temp;   // value return; not a reference return
}
 
 
 
Question No: 17                    ( Marks: 1 ) - Please choose one
Focinthsourcinormally                                    andestinatiocan b              
· File, nativdata type
· Disk, user-define type
· Keyboard, variable
· File, user-define type
For cin, the source is normally keyboard and the destination can be an ordinary variable i.e. native-data type variable. It could be some area of memory or our own data type, i.e. object for which we h
Question No: 18                    ( Marks: 1 ) - Please choose one
We can do condition compilation with pre processor directives.
· True
· False
All the preprocessor directives start with the sharp sign (#). We can also do conditional compilation with it.
Question No: 19                    ( Marks: 1 ) - Please choose one
 
The programs, in which we allocate static memory, run essentially on                                      
· Heap
· System Cache
· Nonof the given options
· Stack
The programs, in which we allocate static memory, run essentially on stack
Question No: 20                    ( Marks: 1 ) - Please choose one
A template function must have at least ---------- or more arguments
 
· Zero
· One
· Two
· Three
The function arguments must contain at least one generic data type. Normal function declaration is: return_type function_name(argument_list)
Question No: 21                    ( Marks: 1 ) - Please choose one
The default value of a parameter can be provided inside the                                                      
· function prototype
· function definition
· both functioprototype or function definition
· none of the giveoptions
The default value of a parameter is provided inside the function prototype or function definition.
Question No: 22                    ( Marks: 1 ) - Please choose one
While calling function, the arguments are assigned to the parameters from                            
· left to right
· right to left
· no specific order is followed
· none of the giveoptions
 
While calling function, the arguments are assigned to the parameters from left to right.
 
Question No: 23                    ( Marks: 1 ) - Please choose one
When an operator function is defined as member function for a binary Plus (+)
operatothethnumbeoargumenitake is/are
 
· Zero
· One
· Two
· arguments
Operators as member functions
Aside from the operators which must be members, operators may be overloaded as member or non-member functions. The choice of whether or not to overload as a member is up to the programmer. Operators are generally overloaded as members when they:
change the left-hand operand, or
1.         require direct access to the non-public parts of an object.
When an operator is defined as a member, the number of explicit parameters is reduced by one, as the calling object is implicitly supplied as an operand. Thus, binary operators take one explicit parameter and unary operators none. In the case of binary operators, the left hand operand is the calling object, and no type coercion will be done upon it. 
 
Question No: 24                    ( Marks: 1 ) - Please choose one
new operator allocates memory from free store and return                                               
· A pointer
· A reference
· An integer
· A float
new Operator (C++)
Allocates memory for an object or array of objects of type-name from the free store and returns a suitably typed, nonzero pointer to the objec
 
Question No: 25                    ( Marks: 1 ) - Please choose one
With                   user-defined    data    type    variables    (Objects),     self    assignment     can produce        
 
· Syntax error not sure
· Logical error
· Link error
· Noof the given options
 
Question No: 26                    ( Marks: 1 )  Write Simple Program
Assignment operator is used to initialize a newly declared object from existing object
·                                               True
·                                                False
 
 
Question No: 27                    ( Marks: 1 )  Briefly define/Justify
Wheaobjecof a class is defined insidaotheclasthen,
· Constructor of enclosing claswill be called first
· Constructor of inner objecwill be called first
· Constructor and Destructor will be callesimultaneously
· Nonof the given options
• A class can contain instances of other classes as its data members. • It is a way of reusing the code when we contain objects of our already written classes into a new class.
 • The inner data members of the object are constructed and then the object itself.
The order of destruction of an object is reverse to this construction order, where the outer object is destroyed first before the inner data members.
 • Initializer list is used to initialize the inner objects at the construction time.
 • In C++, we can have structures or classes defined inside classes. Classes defined within other classes are called nested classes.
Question No: 28                    ( Marks: 1 )  Brief answer required
In the member initializer list, the data members are initialized,
· From left to right
· From right to left
· In the order iwhich they are defined within class
· Nonof the given options
 
Question No: 29                    ( Marks: 1) - Brief answer required
"newan"deletekeywordar                                             in C++ language
· Built-inFunction
· Operators
· Memory AllocatioFunction
· Nonof the given options
Question No: 30                    ( Marks: 2 ) - Brief answer required
What arthtwtypeoconversiofouser-definedattypes?
There are two types of conversion: implicit and explicit.
Question No: 31                    ( Marks: 2 ) - Brief answer required
Give the general syntax of class template.
The syntax of the template class is
 template
class class-name()
{ definition of class };
Question No: 32                    ( Marks: 2 ) - Brief answer required
Whais constructoiclass?
The name of this function is same as the name of the class,
 having no return type. This function is called constructor.
Question                 No:    33                       (    Marks:    2    )    -    Brief    answer    required
Is there a way to increase the size oalready allocated memory chunk ? Can thsamchunbincreaseonot?

 
 
 
Can the same chunk be increased or not? The answer is yes. we can reallocate the same memory with a new size according to our requirement. The function that reallocates the memory is realloc.
 
 
Question No: 34                    ( Marks: 3 ) - Write Program
Whais thdifferencbetweestructurand class?.
The ONLY DIFFERENCES between classes and structures are
1)  classes DEFAULT to having private members.  Structures DEFAULT to having public members. These defaults can be changed so classes can be made to work like structures and vice versa.

2)  classes DEFAULT to inheriting privately from base classes.  Structures DEFAULT to inheriting public from base classes. These defaults can be changed so classes can be made to work like structures and vice versa
.
 
Question No: 35                    ( Marks: 3 ) - Write Program
Homanargumentdoebinarmembeoperato functio an binar non-member operator function take?
When an operator function is defined as member function for a binary Plus (+)
operatothethnumbeoargumenitake is/are
 
Question No: 36                    ( Marks: 2 ) - Write Program
Find the error in the given code for ( ini=0imRowsi++)
{
for(int j=0; jumCols; j++)
{
elements[i , j] = m.elements[i][j];
}
}
 
QuestioNo37                   ( Marks: 5 ) - WritProgram
Write the C++ syntax for making a class friend of other class
QuestioNo38                   ( Marks: 5 ) - WritProgram
Wha is  a  templat function Giv th genera synta o writin  template function
Question No: 39                   ( Marks: 10 ) - Write Program
What iStandarTemplatLibrar(STLalsdescribitadvantages?
 The standard template library is the collection of functions of very common use. Their every day use is so important that two researchers wrote a whole library of these functions. This library is a part of the official standard of C++. It is called STL i.e. Standard Template Library. As a library, it is a tested code base. Some one has written, tested and compiled for the ultimate use of programmers. We can use these templates and can implement different concepts for our own data types. Equally is true about the use of the array data type. Our code will become very small with the use of this tested facility. Similarly, there is no bug or error in it. Thus, if we have a tested and tried code base, we should try our best to write programs by using it. STL is a lot of important code, pre-developed for us. It is available as a library. We can write programs by using it. Thus our programs will be small and error free
Question No: 40                    ( Marks: 10 ) - Write Program
Writ  progra whic contain  clas student Th clas shoul contai twcha pointe variable Name an department Th clas shoul furthe contain constructors overloa th stream insertio operato (<< fo thi clas I maifunctiocreattwobjectandisplay thesobjects cognitivehelping
#includestream>
#includenio>
#include stdlib> using namespace std; class student {
private:
char name[30] ;
char department[30] ;
public:


 

CS201 Solved Paper - Final term (2012)(1) Subjective & Objective with Ref


Question No: 1( M - 1 ).
There are mainly -------------------- types of software
  Two
 ► Three
 ► Four
 ► Five
Software is categorized into two main categories
System Software
Application Software
 
Question No: 2( M - 1 ) .
When x = 7; then the expression x%= 2; will calculate the value of x as,
  1
 ► 3
 ► 7
 ► 2
\Question No: 3( M - 1 ) .
 A pointer variable can be,
 ► Decremented only
 ► Incremented only
 ► Multiplied only
  Both 1 and 2
Question No: 4( M - 1 ) .
setprecision is a parameter less manipulator.
 ► True
 ►False
Question No: 5( M - 1 ) .
 We can change a Unary operator to Binary operator through operator overloading.
 ►False
 ► True
Question No: 6( M - 1 ) .
delete operator is used to return memory to free store which is allocated by the new operator
  True
 ►False
The objects are created with the new operator on free store, they will not be destroyed and memory will not be de-allocated unless we call delete operator to destroy the objects and de-allocate memory.
Question No: 7( M - 1 ) .
When we do dynamic memory allocation in the constructor of a class, then it is necessary to provide a destructor.
 ► True
 ►False
whenever we have a class in which the constructor allocates dynamic memory, it is necessary to provide a destructor that frees the memory.
Question No: 8( M - 1 ) .
What is the functionality of the following statement?
String str[5] = {String(“Programming”), String(“CS201”)};
 ► Default constructor will call for all objects of array
 ► Parameterized constructor will call for all objects of array
  Parameterized constructor will call for first 2 objects and default constructor for remaining objects
 ► Default constructor will call for first 3 objects and Parameterized constructor for remaining objects cognitivehelping
 
 

Question No: 9( M - 1 ) .

 

What is the sequence of event(s) when allocating memory using new operator?
 ► Only block of memory is allocated for objects
 ► Only constructor is called for objects
  Memory is allocated first before calling constructor
 ► Constructor is called first before allocating memory
·                     
If a single object is allocated, operator new 
is called to allocate memory, and then the constructor is called to initialize the object.
·                     If an array of objects is allocated, operator new[] is called to allocate memory for the whole array, and then the constructor is called for each element of the array.
·                     When a single object is deleted, the destructor for the object is called first, and then operator delete is called to free the memory occupied by the object.
·                     When an array of objects is deleted, the destructor for each element of the array object is called first, and then operator delete[] is called to free the memory occupied by the array.
 
Question No: 10( M - 1 ) .
Deleting an array of objects without specifying [] brackets may lead to memory leak
  True
 ►False
Question No: 11( M - 1 ) .
Which of the following data type will be assumed if no data type is specified with constant?
 ► short
 ► float
  int
 ► double
 

Question No: 12( M - 1 ) .

 

There is an array of characters having name ‘course’ that has to be initialized by string ‘programming’ which of the following is the correct way to do this,
i.  course[] = {‘p’, ’r’, ’o’, ’g’, ’r’, ’a’, ’m’, ’m’, ’i’, ’n’, ’g’};
ii.course[] = ‘programming’ ;
iii.    course[12] = “programming” ;
iv.    course = “programming” ;
Choose the correct options.
 ► (i) and (ii) only
 ► (i) and (iv) only
 ► (i) and (iii) only
 ► (ii) and (iii) only
 
 

Question No: 13( M - 1 ) .

 

What will be the correct syntax of the following statement?
ptr is a constant pointer to integer.
 ► const int *ptr ;
 ► const *int ptr ;
 ► int const *ptr ;
  int *const ptr ;
The keyword const for pointers can appear before the type, after the type, or in both places. The following are legal declarations:
const int * ptr1;       /* A pointer to a constant integer:
                             the value pointed to cannot be changed  */
int * const ptr2;       /* A constant pointer to integer:
                             the integer can be changed, but ptr2
                             cannot point to anything else           */
const int * const ptr3; /* A constant pointer to a constant integer:
                             neither the value pointed to
                             nor the pointer itself can be changed   */
Declaring an object to be const means that the this pointer is a pointer to a const object. A const this pointer can by used only with const member functions cognitivehelping.blogspot.com
 
 

Question No: 14( M - 1 ) .

 

Overloaded member operator function is always called by _______
 ► Class
 ► Object
  Compiler
 ► Primitive data type
As discussed in the example of overloaded functions, the automatic part is also there. But we wrote all those functions separately. Here the automatic part is even deeper. In other words, we write one template function without specifying a data type. If it is to be called for int data type, the compiler will itself write an int version of that function. If it is to be called for double, the compiler will itself write it. This does not happen at run time, but at compile time. The compiler will analyze the program and see for which data type, the template function has been called. According to this, it will get the template and write a function for that data type. P# 498
Question No: 15( M - 1 ) .
Loader loads the executable code from hard disk to main memory.
 ► True
 ►False
Loader fter a executable program is linked and saved on the disk and it is ready for execution. We need another process which loads the program into memory and then instruct the processor to start the execution of the program from the first instruction (the starting point of every C program is from the main function). This processor is known as loader.  P# 13
Question No: 16( M - 1 ) .
Which of the following is the correct C++ syntax to allocate space dynamically for an array of 10 int?
 
 ► new int(10) ;
  new int[10] ;
 ► int new(10) ;
 ► int new[10];
For example, we want to allocate an array of 10 ints dynamically. Then the statement will be like this: int *iptr; iptr = new int[10]; P# 332
Question No: 17( M - 1 ) .
The prototype of friend functions must be written ____ the class and its definition must be written ____
 
 ► inside, inside the class
  inside, outside the class
 ► outside, inside the class
 ► outside, outside the class
So their definition will be always outside the class. However, the prototype of the function will be written in the class. P#346
Question No: 18( M - 1 ) .
Like member functions, ______ can also access the private data members of a class. 
 ► Non-member functions
 ► Friend functions
 ► Any function outside class
 ► None of the given options
If a data is private, it will be available only to member  functions of the class. No other function outside the class (except friend functions) can access the private data. cognitivehelping.blogspot.com P# 320
 
Question No: 19( M - 1 ) .
To perform manipulation with input/output, we have to include _____ header file.
 
 ► iostream.h
 ► stdlib.h
  iomanip.h
 ► fstream.h
To do stream manipulations, we have to include a header file having the name iomanip.h. We can understand that iomanip is a short hand for input output manipulation. P# 427
Question No: 20( M - 1 ) .
The endl and flush are _______
 ► Functions
 ► Operators
 ► Manipulators
 ► Objects
Similarly flush was a manipulator for which we could write cout << flush that means flushing the output buffer. So it manipulates the output.
P # 435 / 436
Question No: 21( M - 1 ) .
 If we want to use stream insertion and extraction operators with _______ then we have to overload these operators.
 ► int, float, double
 ► objects of class
 ► int, float, object
 ► int, char, float
 
 

stream extraction operator is used with different data types of int, double and float. The three lines given above can be written in one cascading line: cin >> i >> d >> f;

 

In order to use these insertion ( << ) and extraction ( >> ) operators with classes, we have to overload these operators. www.cognitivehelping.blogspot.com
 
 

Question No: 22( M - 1 ) .

 

The static data members of a class can be accessed by ________
 ► only class
 ► only objects (not sure ) ..... 
 ► both class and objects
 ► none of given options
 
 

 

 

 
 

Question No: 23( M - 1 ) .

 

Classes defined inside other classes are called ________ classes
 ► looped
  nested
 ► overloaded
 ► none of the given options.
we can have structures or classes defined inside classes. Classes defined within other classes are called nested classes
 
 

Question No: 24( M - 1 ) .

 

Which value is returned by the destructor of a class?
 ► A pointer to the class.
 ► An object of the class.
 ► A status code determining whether the class was destructed correctly
 ► Destructors do not return a value.
 
 

Destructors obey the following syntactical requirements:

 

  • a destructor's name is equal to its class name prefixed by a tilde;
  • a destructor has no arguments;
  • a destructor has no return value.
 
 

Question No: 25( M - 1 ) .

 

Consider the following code segment
class M {
 friend int operator!(const M &);
...
};
!s // code of line implies that operator!(s)
...
Let assume if s is an object of the class then function is implemented as ___________
 ► Member function
 ► Non-member function
 ► Binary operator function
 ► None of the given options
None of the given options
 
 

Question No: 26( M - 1 ) .

 

When the compiler overloads the assignment (=) operator by default then __________
 
 

 ► compiler does member wise assignment.

 

 ► compiler does not allow default overload of assignment (=) operator
 ► member of the class are not assigned properly
 ► None of the given options
 
 

Assignment Operator

 

At first, we ascertain whether there is need of an assignment operator or not? It is 
needed when we are going to assign one object to the other, that means when we want
to have expression like a = b. C++ provides a default assignment operator. This 
operator does a member-wise assignment.
 

Question No: 27( M - 1 ) .

 

If text is a pointer of class String then what is meant by the following statement?
text = new String [5];
 ► Creates an array of 5 string objects statically
 ► Creates an array of 5 string objects dynamically
 ► Creates an array of pointers to string
 ► Creates a string Object
 
 
 

Question No: 28( M - 1 ) .

 

Static variable which is defined in a function is initialized __________.
 ► Only once during its life time
 ► Every time the function call
 ► Compile time of the program
 ► None of the above
When you declare a static variable (native data type or object) inside a function, it is created and initialized only once during the lifetime of the program
 
 

Question No: 29( M - 1 ) .

 

The appropriate data type to store the number of rows and  is____________.
 ► floatcolums of the matrix
 ► int
 ► char
 ► none of the given options.
 
 

Int is right becuase columns and row cannot be in fractions

 

Question No: 30( M - 1 ) .
Copy constructor becomes necessary while dealing with _______allocation in the class.
 ► Dynamic memory
 ► Static memory
 ► Both Dynamic and Static memory
 ► None of the given options
Copy constructor becomes necessary while dealing with dynamic memory allocation in the class
 
 

Question No: 31( M - 1 )

 

What is drawback of writing the definitions of all the functions before main function?
Question No: 32( M - 1 )
How do we provide the default values of function parameters?
Question No: 33( M - 2 )
What is difference between endl and \n?
Question No: 34( M - 2 )
When does an object get destroyed?
Question No: 35( M - 3 )
What is the difference between structure and class? 
Question No: 36( M - 3 )
What will be the output of following functions if we call these functions three times?
1)
void func1(){
int x = 0;
x++;
cout << x << endl;
}
2)
void func2(){
static int x = 0 ;
x++;
cout << x << endl ;
}
Question No: 37( M - 3 )
Why stream insertion and stream extraction operators cannot be overloaded as member functions?
 
Question No: 38( M - 5 )
What is difference between Unary and binary operators and how they can be overloaded?
Question No: 39( M - 5 )
What steps we must follow to design good program?
Question No: 40( M - 10 )
Write the program that inputs an octal number from the user and then display the entered octal number into hexadecimal number using manipulators (parameter-less, parameterized) and member function of input/output streams.
 
Question No: 41( M - 10 )
Develop a class Vector having two data members; x and y.
The class should also provide the following Overloaded operator capabilities.
a) Overload the addition operator(+) to add two Vectors
b) Overload the assignment operator(=) to assign Resultant Vector
c) Write function Display() to display x, y coordinates
Note:Addition of vector Let suppose there are two vectors A and B with their x, y coordinates.


CS201 Solved Paper - Final term (2012)(2) Subjective & Objective with Ref


Question No: 1                                   ( M - 1 ) .
There are mainly -------------------- types of software
                                     ► Two
                                     ► Three
                                     ► Four
                                     ► Five

Software is categorized into two main categories
System Software
Application Software
Question No: 2                                   ( M - 1 ) .
Structures help to define program-specific ___________ .
                                     ► functions
                                     ► datatypes
                                     ► Arithmetic operations
                                     ► None of the given options.
In structure, we introduce a new data type. P# 228
defined a new data type. Using structures we can declare: Page # 230

Question No: 3                                   ( M - 1 ) .
A special name which is substituted in code by its definition and as a result we get an expanded code is called,
                                     ► include
                                     ► Directive
                                     ► Macro
                                     ► Define
Macro is a special name, which is substituted in the code by its definition, and as a result, we get an expanded code P# 271


Question No: 4                                   ( M - 1 ) .
If constructor contains a return statement in its body then compiler will give __________
                                     ► No error
                                     ► Syntax error
                                     ► Logical error
                                     ► Run time error
As the constructor does not return any thing, so it has no return type. It means that the body of the construct function cannot have any return statement. Otherwise, the compiler will give a syntax error. P # 322
Question No: 5                                   ( M - 1 ) .
eof( ), bad( ), good( ), clear( ) all are manipulators.
                                     
                                 

► True

► False
 
Question No: 6                                   ( M - 1 ) .
If a friend function outside the class declare itself friend of the class, this will neglect concept of ___________.
 
                                 ► encapsulation and data accessing
                                  ► encapsulation and data hiding
                                  ► friend member functions of the class
                                  ► Interface of the class
The friend functions of a class have access to the private data members of class. Despite being a good thing, there is possibility of vulnerability. We are opening our thoughts, inside view for somebody else. Without having 100% trust, it will be risky to make our thoughts and feelings public. We want that our private data is accessible to someone outside, not public for everybody. Otherwise, the data encapsulation and data-hiding concept will be violated.

Question No: 7                                   ( M - 1 ) .
Which of the following is the only operator that the compiler overloads for user define data type?
                                     ► Plus (+)
                                     ► Minus (-)
                                     ► Equal (= =)
                                     ► Assignment (=)
It's "==", for which the compiler will automatically generate code to
compare a hashsum of the memory areas occupied by the objects in question

Question No: 8                                   ( M - 1 ) .
Friend function of a class is ______________ .
                                     ► Member function
                                     ► Non-member function
                                     ► Private function
                                     ► Public function
A friend function of a class is a non-member function which can gain access to the private section of the class

Question No: 9                                   ( M - 1 ) .
We can also create an array of user define data type.
                                     ► True
                                     ►False


Question No: 10                                 ( M - 1 ) .
The default scope for members of structures is public whereas the default visibility for class members is private.
                                     ► True
                                     ►False
 

The default scope for members of structures is public whereas the default visibility for class members is private. P#490
Question No: 11                                 ( M - 1 ) .
What is the sequence of event(s) when deallocating memory using delete operator?
                                     ► Only block of memory is deallocated for objects
                                     ► Only destructor is called for objects
                                     ► Memory is deallocated first before calling destructor
                                     ► Destructor is called first before deallocating memory
For delete operator, destructor for the object is called first and then the memory block is deallocated. P# 414
Question No: 12                                 ( M - 1 ) .
Overloaded delete operator function takes the same parameter as an argument returned by new operator function.
                                     ► True
                                     ►False
The same pointer that is returned by the new operator, is passed as an argument to the delete operator. These rules apply to both, if operators (new and delete) are overloaded as member or non-member operators (as global operators).

Question No: 13                                 ( M - 1 ) .
In a group of nested loops, which loop is executed the most number of times?
                                     ► the outermost loop
                                     ► the innermost loop
                                     ► all loops are executed the same number of times
                                     ► cannot be determined without knowing the size of the loops
 
Question No: 14                                 ( M - 1 ) .
Which of the following syntax will be used to initialize an array of size 5 of int data type to value 0?        
 
                                     ► arr[5] = {0} ;
                                     ► int arr[5]= 0 ;
                                     ► int arr[5] = {0} ;
                                     ► int arr[] = 0 ;


Question No: 15                                 ( M - 1 ) .
What will be the correct syntax of the following statement?
ptr is a constant pointer to integer.
 
                        ► const int *ptr ;
                        ► const *int ptr ;
                          ► int const *ptr ;
                        ► int *const ptr ;      
const Pointers

 

The keyword const for pointers can appear before the type, after the type, or in both places. The following are legal declarations:
const int * ptr1;       /* A pointer to a constant integer:
                             the value pointed to cannot be changed  */
int * const ptr2;       /* A constant pointer to integer:
                             the integer can be changed, but ptr2
                             cannot point to anything else           */
const int * const ptr3; /* A constant pointer to a constant integer:
                             neither the value pointed to
                             nor the pointer itself can be changed   */
Declaring an object to be const means that the this pointer is a pointer to a const object. A const this pointer can by used only with const member functions.
P#154
Question No: 16                                 ( M - 1 ) .
We want to access array in random order which approach is better?
                                     ► Pointers
 

                                     ► Array index

 

                                     ► Both pointers and array index are better
                                     ► None of the given options.

If the array is to be accessed in random order, then the pointer approach may not be better than array indexing. P# 185
 
Question No: 17                                 ( M - 1 ) .
What is the output of the following statement?
 int i = 2.5; do { cout i * 2; } while (i > 3 && i < 10);
 
                                     ► 510
                                     ► 5
                                     ► 48
                                     ► error

Error due to missing << after cout
 
Question No: 18                                 ( M - 1 ) .
Which statement about operator overloading is False?
 
 
► New operators can never be created
► Certain overloaded operators can change the number of arguments they take.
► The precedence of an operator cannot be changed by overloading.
► Overloading cannot change how an operator works on built-in types.

P# 372
Question No: 19                                 ( M - 1 ) .
The stream insertion and stream extraction operators are already overloaded for ______.
                                     ► User-defined data types
                                     ► Built-in data types
                                     ► User-defined and built-in data types
                                     ► None of the given options
C++ is able to input and output the fundamental types using the stream extraction operator >> and the stream insertion operator <.

Question No: 20                                 ( M - 1 ) .
The stream insertion and extraction operators are not already overloaded for _______
 
                                     ► Built-in data types
                                     ► User-defined data types
                                     ► Both built-in and user-defined types
                                     ► None of the given options
 
Have a look on the stream extraction operator’s ( >> ) behavior here. The similar behavior is maintained when we overload this stream extraction operator ( >> ) or stream insertion operator ( << ). P# 444
We want to overload stream extraction ( >> ) and insertion ( << ) operators which are actually already overloaded.P#445
 
Arguments: Built in data types is overloaded as default hence User-defined data types is not already over loaded

Question No: 21                                 ( M - 1 ) .
The programs, in which we allocate static memory, run essentially on ________
                                     ► Heap
                                     ► System Cache
                                     ► None of the given options
                                     ► Stack
The programs, in which we allocate static memory, run essentially on stack. P#280
Question No: 22                                 ( M - 1 ) .
The dynamic memory allocation uses memory from the ____________.
                                     ► Stack
                                     ► Heap
                                     ► System Cache
                                     ► None of the given options
The dynamic memory allocation uses memory from the heap. P#280

Question No: 23                                 ( M - 1 ) .
The default value of a parameter can be provided inside the ________________
                                     ► function prototype
                                     ► function definition
                                     ► both function prototype or function definition
                                     ► none of the given options.

The default value of a parameter is provided inside the function prototype or function definition. P#294
Question No: 24                                 ( M - 1 ) .
Consider the following code segment
class M {
   friend int operator!(const M &);
...
};       
!s                                                                                                                                                                                         // code of line implies that                 operator!(s)
...
Let assume if s is an object of the class then function is implemented as ___________
 
                                     ► Member function
                                     ► Non-member function
                                     ► Binary operator function
                                     ► None of the given options
 
 
Question No: 25                                 ( M - 1 ) .
The following prototype of unary operator function indicates that it is ____________ .
Date operator++(int )
 
                                     ► Member functions of post increment operator
                                     ► Member functions of           pre increment operator
                                     ► Non-member functions of post increment operator
                                     ► Non-member functions of   pre increment operator


Overloading Unary Operators// Preincrement operator overloaded as a member function.
Date Date::operator++()
{
helpIncrement();
return *this; // value return; not a reference return
}

// Postincrement operator overloaded as a member function.
// Note that the dummy integer parameter does not have a
// parameter name.
Date Date::operator++(int)
{
Date temp = *this;
helpIncrement();

// return non-incremented, saved, temporary object
return temp; // value return; not a reference return
}

Question No: 26                                 ( M - 1 ) .
The second parameter of operator function for >> operator must always be passed
                         ► By reference
                         ► Function takes no argument
                         ► By value
                         ► None of the given options
For operator >>, the second parameter must also be passed by reference. P#453

Question No: 27                                 ( M - 1 ) .
 When an object of a class is defined inside another class then,
                                     ► Destructor of enclosing class will be called first
                                     ► Destructor of inner object will be called first
                                     ► Constructor and Destructor will be called simultaneously
                                     ► None of the given options
If you create an object inside a function as truck A, when the function finishes, the object will be destroyed. Destructor for this static object will be called. To prove P# 464

Question No: 28                                 ( M - 1 ) .
When ever dynamic memory allocation is made in C/C++, it is freed_____________.
                                     ► Explicitly
                                     ► Implicitly
                                     ► Both explicitly and implicitly
                                     ► None of the given options

You must be remembering that wherever the dynamic memory allocation is made, it has to be freed explicitly. P#527
Question No: 29                                 ( M - 1 ) .
The prototype of friend functions is written:
                                     ► Top of the class definition.
                                     ► As Private member functions.
                                     ► Anywhere inside the class definition
                                     ► None of the given options
Friend functions are not member functions of the class. 
The class itself declares the friend functions. The prototype of friend functions is written 
in the definition of the class with the keyword ‘friend’. These functions have access to the 
private data member of the class, which means they have access to everything in the
 
class.
 Question No: 30                                    ( M - 1 ) .
What should be the return type of the constructor?
                                     ► void pointer
                                     ► int
                                     ► same as object type
                                     ► constructors do not return any thing
Constructors We have written a function named Date(int, int, int) in our class. This is in the public section of our class. It has no return type, P# 313

Question No: 31                                 ( M - 1 )
Is there any type checking on the parameters of macros?
Secondly, because the macros are replaced with preprocessors and not by compiler, therefore, they are not aware of the data types. They just replace the macro definition and there is no type checking on the parameters of the macro. Same macro can be used for multiple data types.  (Page#299)
 
Question No: 32                                 ( M - 1 )
What does an arity of operator represent?
Its represent number of operands.
 
The arity (number of operands) P# 372
 
Question No: 33                                 ( M - 2 )
Are the methods of a class reproduced for every object?
Every object has data of its own as every object is distinct from the other. For example, in case of the date class, there may be objects date1, date2 and date3. These are three different objects having their own value of date. Being distinct objects, they must have distinct space in memory.
Question No: 34                                 ( M - 2 )
Can we overload new and delete operators?
Yes, it is possible to overload new and delete operators to customize memory management. These operators can be overloaded in global (non-member) scope and in class scope as member operators.
Question No: 35                                 ( M - 3 )
What will be the output of following function if we call this function by passing int 5?
template
T reciprocal(T x)
{
return (1/x);
}


 
Question No: 36                                 ( M - 3 )
If the requested memory is not available in the system then what does calloc/malloc and new operator return?
what happens when either we ask for too much memory at a time of non-availability of enough memory on the heap or we ask for memory that is available on the heap , but not available as a single chunk?. In this case, the call to calloc will fail. When a call to memory allocation functions fails, it returns a NULL pointer. P#282
 
If the memory is not available or is fragmented (not in a sequence), malloc will return a NULL pointer. P#282
 
Whenever we allocate memory dynamically, it is allocated from free store. Now we will see what happens if the memory in the free store is not sufficient enough to fulfill the request. malloc() function returns NULL pointer if the memory is not enough. In C++, is returned instead of NULL pointer. P#332
 
Question No: 37                                 ( M - 3 )
If we want to send the data by reference and don’t want that original data should be affected then what can we do to prevent any change?
 
Const: usage of cont can prevent any changes in the original data.
 
The problem with call by reference is that ‘we are letting the function to change the values at their actual storage place in the memory’. Sometimes, we want to do this according to the requirement of the logic of the program. At some other occasion, we may pass the addresses for efficiency while not affecting the values at that addresses. The use of const can be helpful in overcoming this problem.. P#154
 
Question No: 38                                 ( M - 5 )
Why the first parameter of operator function for << operator must be passed by reference?
 
first parameter is passed by reference and the compiler does not allow it to pass by value. The first object is returned back by reference by the operator function. That’s why, the compiler does not allow to pass first parameter by value.
 
Objects passed by value are local to the function and destroyed when function returns.
.
Question No: 39                                 ( M - 5 )
What will be the output of the following program?
int addValue (int &);
main () {
int x, y;
x = 23;
cout << "Value of x before calling addValue ():\t" << x << endl;
y = addValue (x);
cout << "Value of x after calling addValue ():\t" << x <
cout << "Value of y:\t" << y;
}
int addValue (int &a){
a = a + 2;
return a;
}         
 
Question No: 40                                 ( M - 10 )
While doing dynamic memory allocation in class what are the important things that should be implemented in class.
doing dynamic memory allocation inside the constructor of the class. You must be remembering that wherever the dynamic memory allocation is made, it has to be freed explicitly. To de-allocate the memory, we will write code inside the destructor of the class Matrix. The other consideration when we are allocating memory on free store from within constructor is that the default assignment operator will not work here. Remember, the default assignment operator makes shallow copy of the object members, therefore, we will have to write our own assignment operator ( = ) in order to make deep copy of the object data members. Remember that a copy constructor is called when a new Matrix object is initialized and constructed based on an already existent Matrix object. Therefore, we have to write our own copy constructor in order to make deep copy of the object data members. There is one very important point to mention about this class Matrix. A Matrix can be composed of ints, floats or doubles as their elements. Instead of handling these data types separately, we can write Matrix class as a template class and write code once for all native data types. While writing this template class, the better approach to write will be, to go with a simple data type (e.g. double) first to write a Matrix class and then extend it to a template class later. Another thing that can be templatized in the Matrix class is the Scalar number. Actually, this Scalar number can be an intfloat or double; therefore, we may also use a template for this.  P# 527
Question No: 41                                 ( M - 10 )
What is difference between using a square(x) macro and square(x) function?
Whenever we call a function, a lot of work has to be done during the execution of the program. The memory in machine is used as stack for the program. The state of a program (i.e. the value of all the variables of the program), the line no which is currently executing etc is on the stack. Before calling the function, we write the arguments on the stack. In a way, we stop at the function calling point and the code jumps to the function definition code. The function picks up the values of arguments from the stack. Do some computation and return the control to the main program which starts executing next line. So there is lot of overhead in function calling. Whenever we call a function, there is some work that needed to be done. Whenever we do a function call, like if we are calling a function in a loop, this overhead is involved with every iteration. The overhead is equal number of times the loop executed. So computer time and resources are wasted. Obviously there are a number of times when we need to call functions but in this simple example of calculating square, if we use square function and the program is calling this function 1000 times, a considerable time is wasted. On the other hand, if we define square macro and use it. The code written in front of macro name is substituted at all the places in the code where we are using square macro. Therefore the code is expanded before compilation and compiler see ordinary multiplication statements. There is no function call involved, thus making the program run faster. We can write complex parameterized macros. The advantage of using macros is that there is no overhead of function calls and the program runs faster. If we are using lot of macros in our program, it is replaced by the macro definition at every place in the code making the program bloat. Therefore our source code file becomes a large file, resulting in the enlargement of the executable file too. Sometimes it is better to write functions and define things in it. For simple things like taking a square, it is nice to write macros that are only one line code substitution by the preprocessor. Take care of few things while defining macros. There is no space between the macro name and the starting parenthesis. If we put a space there, it will be considered as simple macro without parameters. We can use more than one argument in the macros using comma-separated list. The naming convention of the arguments follows the same rules as used in case of simple variable name. After writing the arguments, enclosing parenthesis is used. There is always a space before starting the definition of the macro.


CS201 Solved Paper - Final term (2013)(1) Subjective & Objective with Ref

Question No: 1      ( M - 1 ) .
There are mainly -------------------- types of software
       ► Two
       ► Three
       ► Four
       ► Five

Software is categorized into two main categories
System Software
Application Software P# 9
Question No: 2      ( M - 1 ) .
seekg() and write() are functionally _________________ .
       ► Different
       ► Identical
       ► Two names of same function
       ► None of the above

Question No: 3      ( M - 1 ) .
When a pointer is incremented, it actually jumps the number of memory addresses
       ► According to data type
       ► 1 byte exactly
       ► 1 bit exactly
       ► A pointer variable can not be incremented
“When a pointer is incremented, it actually jumps the number of memory spaces according to the data type that it points to”
Question No: 4      ( M - 1 ) 
setw is a parameterized manipulator.
       ► True
       ► False

We have a manipulator setw (a short for set width), it takes as an argument the width in number of spaces. So to print our numbers in four spaces we write cout << setw(4) << number ;
Question No: 5      ( M - 1 ) .
eof( ), bad( ), good( ), clear( ) all are manipulators.
       ► True
       ► False
Question No: 6      ( M - 1 ) .
In functions that return reference, use __________variables.
       ► Local
       ► Global
       ► Global or static
       ► None of the given option
In functions that return reference, use global or static variables. P# 369
 
Question No: 7      ( M - 1 ) .
The declarator of Plus (+) member operator function is
       ► Class-Name  operator + (Class-Name  rhs)
       ► operator Class-Name + ( )
       ► operator Class-Name + ( rhs)
       ► Class-Name  operator + ( )

Page 371,373 example are here
Complex operator + (Complex & );
Complex operator + (parameter-list);
The syntax of the prototype of the overloaded operator function is:
return-type operator operator-symbol (parameter-list);
operator is the keyword here. An example of this will be as follows:
Complex operator + (Complex & );
Question No: 8      ( M - 1 ) .
The compiler does not provide a copy constructor if we do not provide it.
       ► True
       ► False
C will provide the default copy constructor. P#476
www.cognitivehelping.blogspot.com/
Question No: 9      ( M - 1 ) .
What is the functionality of the following syntax to delete an array of 5 objects named arr allocated using new operator?
delete arr ;
       ► Deletes all the objects of array
       ► Deletes one object of array 
       ► Do not delete any object
       ► Results into syntax error
This statement will call the destructor only for the object pointed by the arr and deallocate the space allocated to this object
 
Question No: 10      ( M - 1 ) .
What is the sequence of event(s) when allocating memory using new operator?
       ► Only block of memory is allocated for objects
       ► Only constructor is called for objects
       ► Memory is allocated first before calling constructor
       ► Constructor is called first before allocating memory
For new operator, memory block is allocated first before calling the constructor. P#414


Question No: 11      ( M - 1 ) .
What is the sequence of event(s) when deallocating memory using delete operator?
       ► Only block of memory is deallocated for objects
       ► Only destructor is called for objects
       ► Memory is deallocated first before calling destructor
       ► Destructor is called first before deallocating memory
For delete operator, destructor for the object is called first and then the memory block is deallocated. P# 414


Question No: 12      ( M - 1 ) .
new and delete operators cannot be overloaded as member functions.
       ► True
       ► False
www.cognitivehelping.blogspot.com/
The overloaded new operator returns void * when it is overloaded as non-member (global). However, it returns an object pointer like the built-in new operator, when overloaded as a member function. P# 414
Question No: 13      ( M - 1 ) .
The operator function of <<  and >> operators are always the member function of a class.
       ► True
       ► False

there are two ways of overloading operators, either as class members or non-members. But these insertion ( ) operators cannot be overloaded as membersP#446
Question No: 14      ( M - 1 ) .
A template function must have at least ---------- generic data type
       ► Zero
       ► One
       ► Two
       ► Three
We generally use the variable name as (T evolves from template). However, it is not something hard and fast. After the variable name, we start writing the function definition. The function arguments must contain at least one generic data type. P# 499

Question No: 15      ( M - 1 ) .
If we do not mention any return_value_type with a function, it will return an _____ value.
       ► int
       ► void
       ► double
       ► float
The default return_value_type is of int data type i.e. if we do not mention any return_value_type with  a function, it will return an int value. P# 79

Question No: 16      ( M - 1 ) .
Suppose a program contains an array declared as int arr[100]; what will be the size of array?
       ► 0
       ► 99
       ► 100[L1]
       ► 101
As we know, the array index is one less than the size of the array. P# 103
The size of array is 100. but it's index will be from 0 to 99. we will initlize all the elements of the array  to 0.
 
Question No: 17      ( M - 1 ) .
The name of an array represents address of first location of array element.
       ► True
       ► False
The name of the array is a constant pointer which contains the memory is the address of first element of the array

Question No: 18      ( M - 1 ) .
Reusing the variables in program helps to save the memory
       ► True
       ► False
 
Question No: 19      ( M - 1 ) .
Which of the following option is true about new operator to dynamically allocate memory to an object?
       ► The new operator determines the size of an object
       ► Allocates memory to object and returns pointer of valid type
       ► Creates an object and calls the constructor to initialize the object
       ► All of the given options

Question No: 20      ( M - 1 ) .
new and delete are _____ whereas malloc and free are _____.
       ► Functions, operators
       ► Classes, operators
       ► Operators, functions
       ► Operators, classes
Hence, we can call new and delete operators, P# 342
we have allocated a memory space for our use by malloc function. P# 285
Question No: 21      ( M - 1 ) .
Like member functions, ______ can also access the private data members of a class.
       ► Non-member functions
       ► Friend functions
       ► Any function outside class
       ► None of the given options
The friend functions of a class have access to the private data members of class
www.cognitivehelping.blogspot.com/
 
Question No: 22      ( M - 1 ) .
Which of the following statement is best regarding declaration of friend function?
       ► Friend function must be declared after public keyword.
       ► Friend function must be declared after private keyword.
       ► Friend function must be declared at the top within class definition.
       ► It can be declared anywhere in class as these are not affected by the public and private keywords.
To declare a friend function, we can put it anywhere in the class. According to the definition of the friend functions, they have access to the private data members of the class.
 
Question No: 23      ( M - 1 ) .
The operator function overloaded for an Assignment operator (=) must be
       ► Non-member function of class
       ► Member function of class
       ► Friend function of class
       ► None of the given options
Restrictions on Operator Overloading
The operator overloading functions for overloading ()[]-> or the assignment (=) Operators must be declared as class members.
 
Question No: 24      ( M - 1 ) .
For non-member operator function, object on left side of the operator may be
       ► Object of operator class
       ► Object of different class
       ► Built-in data type
       ► All of the given options
When an operator function is implemented as a non-member function, the left-most operand may be an object of the operator’s class, an object of a different class, or a built-in type. Now we discuss it in a detailed manner. (handouts)
 
Question No: 25      ( M - 1 ) .
The operator function will be implemented as _____, if obj1 drive the - operator whereas obj2 is passed as arguments to - operator in the statement given below.
obj3   =   obj1 -   obj2;
       ► Member function
       ► Non-member function
       ► Friend function
       ► None of the given options
For member operator, the object on the left side of the + operator is driving this + operation. Therefore, the driving object on the left is available by this pointer to + operator function. But the object on the right is passed explicitly to the + operator as an argument.
 
Question No: 26      ( M - 1 ) .
Which one of the following is the declaration of overloaded pre-increment operator implemented as member function?
       ► Class-name operator +() ;
       ► Class-name operator +(int) ;
       ► Class-name operator ++() ;
       ► Class-name operator ++(int) ;


Question No: 27      ( M - 1 ) .
The static data members of a class are initialized _______
       ► At file scope
       ► within class definition
       ► within member function
       ► within main function

 Initialization of static data members is done at file scope which means almost at the cognitivehelping global scope. We initialize it outside of the main.
Question No: 28      ( M - 1 ) .
Class is a user defined___________.
       ► data type
       ► memory referee
       ► value
       ► none of the given options.


A class is a user defined data type and it can be used inside other classes in the same way as native data types are used.
Question No: 29      ( M - 1 ) .
We can also define a user-defines manipulators.
       ► True
       ► False
Parameterized manipulators require one or more arguments. setfill (near the bottom of the iomanip.h header file) is an example of a parameterized manipulator. You can create your own parameterized manipulators and your own simple manipulators.

Question No: 30      ( M - 1 ) .
Automatic variable are created on ________.
       ► Heap
       ► Free store
       ► static storage
       ► stack
On the stack, automatic variables are being created and destroyed all the time
 
Question No: 31      ( M - 1 )
How do we provide the default values of function parameters?

Question No: 32      ( M - 1 )
Why do java consider pointer as dangerous
JAVA, describe pointers as dangerous . if  we assign a memory through a pointer where the pointer is destroyed, the memory remains allocated and is wasted. To address these things, there are only references in JAVA instead of pointers. JAVA gives the concept of garbage collection with the use of references. Due to this garbage collection, we are free from the headache of de- allocating the memory. We allocate and use the memory. When it is no longer in use, JAVA automatically deletes (frees) it through garbage collection
 
Question No: 33      ( M - 2 )
What is memory leak?
There is a requirement that if the constructor of a class allocates the memory, it is necessary to write a destructor of that class. We have to provide a destructor for that class, so that when that object ceases to exist, the memory allocated by the constructor, is returned to the free store. It is critically important. Otherwise, when the object is destroyed, there will be an unreferenced block of memory. It cannot be used by our program or by any other program. It’s a memory leak that should be avoided.
 
Question No: 34      ( M - 2 )
What does optimization the of code means?
Optimization is the process of transforming a piece of code to make more efficient without changing its output or side-effects. The only difference cognitivehelping visible to the code’s user should be that it runs faster and/or consumes less memory.
 
Question No: 35      ( M - 3 )
What is the difference between structure and class?

The ONLY DIFFERENCES between classes and structures are

1)  classes DEFAULT to having private members.  Structures DEFAULT to having public members. These defaults can be changed so classes can be made to work like structures and vice versa.

2)  classes DEFAULT to inheriting privately from base classes.  Structures DEFAULT to inheriting public from base classes. These defaults can be changed so classes can be made to work like structures and vice versa.
 
Question No: 36      ( M - 3 )
See the following code segment.
template
class myclass {
private:
T x;
public:
myclass (T a) {
 x = a;
}
};
Write the main function which creates two objects of class for int and double data types.
 
Question No: 37      ( M - 3 )
Is it possible to define two functions as given below? Justify your answer.
func(int x, int y)
func(int &x, int &y)
 
Question No: 38      ( M - 5 )
Write a program using getline() member function to inputs a string up to delimiter character comma (,) and then display the string on the screen.
 
Question No: 39      ( M - 5 )
Do you think that friend functions violate encapsulation? Justify your answer.
 
Question No: 40      ( M - 10 )
Write a simple program using the get() member function of cin object reading a text of 30 characters from the keyboard, store them in an array and then using put() member function of cout object to display them on the screen.
 
Question No: 41      ( M - 10 )
Write a small program which defines two user-defined manipulators named octal and hexadecimal. These manipulators should display the decimal numbers into octal and hexadecimal.
In the main function, input a decimal number from the user and then display this decimal number into octal and hexadecimal using user-define manipulators named octal and hexadecimal.










ایک تبصرہ شائع کریں

جدید تر اس سے پرانی