6.1
Identify the error in the following program.
#include <iostream>
using namespace std;
class Room
{
int length;
int width;
public:
Room(int 1, int w=0):
width(w),
length(1)
{
}
};
void main()
{
Room objRooml;
Room objRoom2(12, 8);
}
Answer
Here there is no default constructor, so object could not be written without any argument.
Correction :
Void main ( )
{
Room Objroom2(12,8);
}
6.2
Identify the error in the following program.
#include <iostream>
using namespace std;
class Room
{
int length;
int width;
public:
Room()
{
length=0;
width=0;
}
Room(int value=8)
{
length = width =8;
}
void display()
{
cout<<length<< ' ' <<width;
}
};
void main()
{
Room objRooml;
objRoom1.display();
Answer
Room() and Room(int value=8) Functions are same, so it show Ambiguity error.
Correction : Erase Room() function and then error will not show.
6.3
Identify the error in the following program.
#include <iostream>
using namespace std;
class Room
{
int width;
int height;
public:
void Room()
{
width=12;
height=8;
}
Room(Room& r)
{
width =r.width;
height=r.height;
copyConsCount++;
}
void discopyConsCount()
{
cout<<copyConsCount;
}
};
int Room::copyConsCount = 0;
void main()
{
Room objRooml;
Room objroom2(objRoom1);
Room objRoom3 = objRoom1;
Room objRoom4;
objRoom4 = objRoom3;
objRoom4.dicopyConsCount();
}
Answer
Just erase “objRoom4 = objRoom3; invalid to call copy constructor.” for successfully run.
6.4
Identify the error in the following program.
#include <iostream>
using namespace std;
class Room
{
int width;
int height;
static int copyConsCount;
public:
void Room()
{
width=12;
height=8;
}
Room(Room& r)
{
width =r.width;
height=r.height;
copyConsCount++;
}
void discopyConsCount()
{
cout<<copyConsCount;
}
};
int Room::copyConsCount = 0;
void main()
{
Room objRooml;
Room objroom2(objRoom1);
Room objRoom3 = objRoom1;
Room objRoom4;
objRoom4 = objRoom3;
objRoom4.dicopyConsCount();
}
Answer
Same as 6.3 problem solution.
Next Previous