0% found this document useful (0 votes)
194 views22 pages

C

This document contains 10 sessions with 2 multiple choice questions in each session. The questions cover topics related to C++ programming concepts like function overloading, inheritance, polymorphism, templates, etc. For each question, the difficulty level and correct answer are provided. The questions test knowledge of basic syntax, language features, and behavior of C++ code examples.

Uploaded by

Magical music
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
194 views22 pages

C

This document contains 10 sessions with 2 multiple choice questions in each session. The questions cover topics related to C++ programming concepts like function overloading, inheritance, polymorphism, templates, etc. For each question, the difficulty level and correct answer are provided. The questions test knowledge of basic syntax, language features, and behavior of C++ code examples.

Uploaded by

Magical music
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

Session No & Session Topic: 1

Q. No. 1
Question: in case of command line arguments main accepts following two
arguments.
Answer Choices
A: int argc,char *argv
B: char argv,int argc
C: int argc,char *argv[]
D: char *argv,int *argc

Difficulty Level: Easy

Correct Answer : C

Session No & Session Topic: 1


Q. No. 2
Question: using which macro, we can display the argument from variable
number of argument function ?.
Answer Choices
A: va_arg
B: va_list
C: va_show
D: va_start

Difficulty Level: Intermediate

Correct Answer : A

Session No & Session Topic: 2


Q. No. 1
Question: what is the output ?
void fun(int *ptr2)
{
*ptr2=30;
}
void main()
{
int num=10;
int *ptr1=#
fun(ptr1);
cout<<num<<endl;
getch();
}

Answer Choices
A: 10
B: garbage value
C: it will not compile
D: 30

Difficulty Level: Easy

Correct Answer : D

Session No & Session Topic: 2


Q. No. 2
Question: what is the output ?

void main()
{
int* getAr();
int *ptr;
ptr=getAr();
cout<<ptr[2]<<endl;
getch();
}
int* getAr()
{
int arr[4]={10,20,30,40};
return arr;
}

Answer Choices
A: 20
B: 30
C: it will not compile
D: warning

Difficulty Level: intermediate

Correct Answer : D

Session No & Session Topic: 3


Q. No. 1
Question: what will happen to following code ?
struct emp
{
char name[20];
};
void main()
{
emp e1={"abc"};
emp e2;
e2.name=e1.name;
cout<<e2.name<<endl;
getch();
}

Answer Choices
A: warning
B: compiler error
C: output “abc”
D: none of the above.

Difficulty Level: Easy

Correct Answer : B

Session No & Session Topic: 3


Q. No. 2
Question: which statement will print the value of num ?
struct mystruct
{
int *k;
};
void main()
{
int num=200;
mystruct *ptr=new mystruct;
ptr->k=&num;
// here
getch();
}
Answer Choices
A: *(*ptr).k
B: *ptr.k
C: ptr->k
D: ptr->*k

Difficulty Level: Intermediate

Correct Answer : A

Session No & Session Topic: 4


Q. No. 1
Question: what is the output ?

const int a=124;

void main()

const int* sample();

int *p;

p=sample();

cout<<*p;

const int* sample()


{ return (&a);

Answer Choices
A: warning
B: compilation error
C: output “124”
D: garbage value

Difficulty Level: Difficult

Correct Answer : B

Session No & Session Topic: 4


Q. No. 2
Question: what is the output?
#include<iostream.h>

void accept(int x,int y)

cout<<"in value method\n";

void accept(int &p,int &q)

cout<<"in referece method\n";

void main()

accept(45,55);

}
Answer Choices
A: output “in referece method

B: compilation error
C: output “in value method in reference method”
D: output “in value method”

Difficulty Level: Intermediate

Correct Answer : D

Session No & Session Topic: 5


Q. No. 1
Question: what will happen to following code?
#include<iostream.h>

class SomeClass

public:

SomeClass()

cout<<endl<<"in SomeClass
Def.Const\n";

~SomeClass()

cout<<endl<<"in SomeClass
Destructor\n";

};
void main()

SomeClass *s1=new SomeClass;

Answer Choices
A: output “in SomeClass Def.Const”
B: Runtime error because of memory leak.
C: output “in SomeClass Def.Const in SomeClass Destructor”
D: compilation error because of incorrect syntax of ‘new’

Difficulty Level: Easy

Correct Answer : A

Session No & Session Topic: 5


Q. No. 2
Question: Copy Constructor is called when
Answer Choices
A: Object is initialized to another object
B: Object is returned from a function [not an anonymous object]
C: only A
D: A and B both

Difficulty Level: Intermediate

Correct Answer : D

Session No & Session Topic: 6


Q. No. 1
Question: what is the output ?
#include<iostream.h>

class myclass

public:

static int counter;

};

void main()

cout<<myclass::counter;

Answer Choices
A: output 0
B: compilation error
C: Linking error
D: output garbage value

Difficulty Level: Intermediate

Correct Answer : C

Session No & Session Topic: 6


Q. No. 2
In which operator overloading, compiler implicitly passes zero as an
argument ?
Answer Choices
A: Post increment/decrement operator
B: Pre increment/decrement operator
C: both pre and post
D: subscript operator
Difficulty Level: Easy

Correct Answer : A

Session No & Session Topic: 7


Q. No. 1
Question:
Which of the following statements is false ?
Answer Choices
A: Conversion operator function must return a value
B: Conversion operator function must be written in destination
C: Conversion operator function does not accept any argument
D: Conversion operator function must be a member function.

Difficulty Level: Intermediate

Correct Answer : B

Session No & Session Topic: 7


Q. No. 2
Question: what will be the output ?
4) #include<iostream.h>
class base

public:

base()

cout<<"\nIn base const\n";

print();
}

void print()

cout<<endl<<"In base print\n";

};

class derived:public base

public:

derived()

cout<<endl<<"In derived const\n";

void print()

cout<<endl<<"In derived print\n";

};

void main()

derived d1;

Answer Choices
A: In base const In derived const In derived print
B: In base const In derived print In derived const
C: In base const In base print In derived print In derivd const
D: In base const In base print In derived const

Difficulty Level: Intermediate

Correct Answer : D

Session No & Session Topic: 8


Q. No. 1
Question: what will be the output ?
what will be the output ?

#include <iostream.h>

class grandparent

public:

grandparent(int k)

cout<<k<<endl;

grandparent()

cout<<0<<endl;

};

class parent1:virtual grandparent

public:

parent1(int j):grandparent(420)

cout<<j<<endl;

}
};

class parent2:virtual grandparent

public:

parent2(int j):grandparent(420)

cout<<j<<endl;

};

class child:parent2,parent1

public:

child(int m):parent1(100),parent2(200)

cout<<m<<endl;

};

void main()

child s(300);

Answer Choices
A: 420 100 200 300
B: 420 200 100 300
C: 0 200 100 300
D: 0 420 200 100 300

Difficulty Level: Difficult


Correct Answer : C

Session No & Session Topic: 8


Q. No. 2
Question: what will be the output ?
#include<iostream.h>

class base

public:

virtual void disp()

cout<<endl<<"in base disp\n";

};

class sub:public base

public:

void disp()

cout<<endl<<"in sub disp\n";

void print()

cout<<endl<<"in print";

};

void main()

{
base *b=new sub;

b->disp();

b->print();

Answer Choices
A: output “in base disp in print”

B: output “in sub disp in print”

C: compilation error

D: output “in sub disp in base disp in print”

Difficulty Level: Intermediate

Correct Answer : C

Session No & Session Topic: 9


Q. No. 1
Question:
#include<iostream.h>

class myclass

public:

virtual void f2()

cout<<endl<<"in f2\n";

virtual void f1()


{

cout<<endl<<"in f1\n";

void fun()

int *ptr=(int*)this;

ptr=(int *)*ptr;

ptr++;

ptr=(int*)*ptr;

};

void main()

myclass m;

m.fun();

when fun() function is over, what does ptr stores ?

Answer Choices
A: address of virtual poiner
B: address of f1
C: address of f2
D: none of the above

Difficulty Level: Difficult

Correct Answer : B

Session No & Session Topic: 9


Q. No. 2
Question:
Difference between text and binary mode is based on
Answer Choices
A: How newline is treated
B: How End Of File is represented
C: How numeric data is stored
D: all of the above

Difficulty Level: Easy

Correct Answer : D

Session No & Session Topic: 10


Q. No. 1
Question:
Templates can be distributed to the client through
Answer Choices
A: header file
B: lib file
C: both A and B
D: templates can not be distributed at all

Difficulty Level: Intermediate

Correct Answer : A

Session No & Session Topic: 10


Q. No. 2
Question:
what is the output ?

#include<iostream.h>

class base
{

public:

virtual void disp()

cout<<"base disp\n";

};

class sub1:public base

public:

void disp()

cout<<"sub1 disp\n";

};

class sub2:public sub1

public:

void disp()

cout<<endl<<"sub2 disp\n";

};

void main()

base *b;
sub1 s1,*s2;

sub2 s3,*s4;

b=&s3;

s2=dynamic_cast<sub1*>(b);

if(s2)

s2->disp();

else

cout<<"failed\n";

s4=dynamic_cast<sub2*>(b);

if(s4)

s4->disp();

else

cout<<"failed\n";

}
Answer Choices
A: sub1 disp sub2 disp
B: compilation error
C: sub2 disp sub2 disp
D: failed sub2 disp

Difficulty Level: Difficult

Correct Answer : C

Session No & Session Topic: 11


Q. No. 1
Question:
#include<iostream.h>

class name

public:

name()

cout<<endl<<"in def con\n";

name(name n)

cout<<endl<<"in copy con\n";

};

void main()

name n1;

name n2(n1);

Answer Choices
A: output infinite “in copy con”
B: compile error
C: output “in def const in copy con”
D: runtime error

Difficulty Level: Intermediate

Correct Answer : B

Session No & Session Topic: 11


Q. No. 2
Question:
Given the following code :
#include<iostream.h>
class base
{
public:
virtual void disp()
{
cout<<endl<<"in base disp\n";
}

};
class sub1:public base
{
public:
void disp()
{
cout<<endl<<"in sub1 disp\n";
}
void print1()
{
cout<<endl<<"in print1\n";
}
};
void main()
{
base *b;
sub1 s1,*s2,*s3;
b=new base;
s2=static_cast<sub1*>(b);
s3=dynamic_cast<sub1*>(b);
cout<<s2<<endl;
cout<<s3<<endl;
}
Answer Choices
A: s2 will contain NULL, s3 not null
B: s3 will contain NULL, s2 not null
C: both will contain NULL
D: both will contain Not NULL

Difficulty Level: Difficult

Correct Answer : B

You might also like