Output of C++ programs | Set 36

Ques 1. What is the output of the following assuming that the size of int is 4 bytes.

filter_none

edit
close

play_arrow

link
brightness_4
code

#include <iostream>
using namespace std;
  
class abc {
    void f();
    void g();
    int x;
};
  
main()
{
    cout << sizeof(abc) << endl;
}

chevron_right


Options :
A) 12
B) 4
C) 8
D) Compile error

Answer : B

Explanation :
Only the class member variables constitutes as the size of the class or its object.So in this case we have to void and one int value so total size of class will be 0 + 0 + 4.(consider int to be 4 byte).

Ques 2. What is the output of the following

filter_none

edit
close

play_arrow

link
brightness_4
code

#include <iostream>
using namespace std;
  
int main()
{
    int a[] = { 1, 2 }, *p = a;
    cout << p[1];
}

chevron_right


Options :
A) 1
B) 2
C) Compile error
D) Runtime error

Answer : B

Explanation :
when we assign array ‘a’ to pointer ‘p’, it will hold the base address of the array. We can access array using ‘p’ just like with ‘a’


Ques 3
. What is the output of the following

filter_none

edit
close

play_arrow

link
brightness_4
code

#include <iostream>
using namespace std;
  
int main()
{
    int a[] = { 10, 20, 30 };
    cout << *a + 1;
}

chevron_right


Options :
A) 10
B) 20
C) 11
D) 21

Answer : C

Explanation :
*a refers to 10 and adding a 1 to it gives 11.


Ques 4
. What is the output of the following

filter_none

edit
close

play_arrow

link
brightness_4
code

#include <iostream>
using namespace std;
  
class Box {
    double width;
  
public:
    friend void printWidth(Box box);
    void setWidth(double wid);
};
void Box::setWidth(double wid)
{
    width = wid;
}
void printWidth(Box box)
{
    box.width = box.width * 2;
    cout << "Width of box : " << box.width << endl;
}
int main()
{
    Box box;
    box.setWidth(10.0);
    printWidth(box);
    return 0;
}

chevron_right


Options :
A) 40
B) 5
C) 10
D) 20

Answer : D

Explanation :
We are using friend function because we want to print the value of box width. Which is a private member function of a class and we can not access the private member outside the class.
setWidth(10.0) set width to 10 and printWidth( box ) print (width * 2) i.e 20.

Ques 5. What is the output of the following

filter_none

edit
close

play_arrow

link
brightness_4
code

#include <iostream>
using namespace std;
struct a {
    int count;
};
struct b {
    int* value;
};
struct c : public a, public b {
};
int main()
{
    c* p = new c;
    p->value = 0;
    cout << "Inherited";
    return 0;
}

chevron_right


Options :
A) Inherited
B) Error
C) Runtime error
D) None of the mentioned

Answer : A

Explanation : class or structure ‘c’ inheriting class ‘a’ as well as class ‘b’. When we create an object p of class c, both a and b are automatically inherited means we can access the attributes of class a and b.
So, p->value will be set to 0 as given in the question and then print inherited and exit from the code.

This article is contributed by Rishabh jain. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.



My Personal Notes arrow_drop_up


Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.