What will be the output of the following C++ code?
#include <iostream>
using namespace std;
class A{
public:
A(){
cout<<“Constructor called\n”;
}
~A(){
cout<<“Destructor called\n”;
}
};
int main(int argc, char const *argv[])
{
A *a = new A[5];
delete[] a;
return 0;
}
a) “Constructor called” five times and then “Destructor called” five times
b) “Constructor called” five times and then “Destructor called” once
c) Error
d) Segmentation fault
Answer: a
Explanation: In this, we have first initiated five-pointer variables using new keyword hence fives time constructor will be called after that as we using delete[](used for deleting multiple objects) to delete variables hence all the five objects created will be destroyed and hence five times destructor will be called.
Related Posts
What is the output of the given code?
counter=1
if counter<=5
puts (counter)
counter=counter+1What is the output of the given code?
if(a==10 && b=9)
print “true”
else
print “false”
endWhich of the following are used for comparison?
What is the output of the given code?
a=10
b=9
if(a>b)
print (“a greater than b”)
else
print “Not greater”
endAssignment operator is also known as relational operator.
What is the output of the given code?
a=”string”
b=”strings”
if(a==b)
print (“a and b are same”)
else
print “Not same”
endWhat is the output of the given code?
test_1 = 17 > 16
puts(test_1)
test_2 = 21 <= 30
puts(test_2)
test_3 = 9 >= 9
puts(test_3)
test_4 = -11 > 4
puts(test_4)
Join The Discussion