Identify the error in the following program.
#include <iostream>;
using namespace std;
class Student {
char* name;
int rollNumber;
public:
Student() {
name = "AlanKay";;
rollNumber = 1025;
}
void setNumber(int no) {
rollNumber = no;
}
int getRollNumber() {
return rollNumber;
}
};
class AnualTest: Student {
int mark1, mark2;
public:
AnualTest(int m1, int m2)
:mark1(m1), mark2(m2) {
}
int getRollNumber() {
return Student::getRollNumber();
}
};
void main()
{
AnualTest test1(92 85);
cout<< test1.getRollNumber();
}
Constructor and Private (data & function) can not be inherited.
Identify the error in the following program.
#include<iostream> ;
using namespace std;
class A
{
public:
A()
{
cout<< "A";
}
};
class B: public A
{
public:
B()
{
cout<< "B";
}
};
class C: public B
{
public:
C()
{
cout << "C";
}
};
class D
{
public:
D()
{
cout << "D";
}
};
class E: public C, public D
{
public:
E()
{
cout<< "D";
}
};
class F: B, virtual E
{
public:
F()
{
cout<< "F";
}
};
void main()
{
F f;
}
The inheritance can be represented as follows:
Here B is virtual, but not E.
Identify the error in the following program.
#include <iostream>;
using namespace std;
class A
{
int i;
};
class AB: virtual A
{
int j;
};
class AC: A, ABAC
{
int k;
};
class ABAC: AB, AC
{
int l;
};
void main()
{
ABAC abac;
cout << "sizeof ABAC:" << sizeof(abac);
}
The inheritance can be represented as follows:
Class AC: A, Here there is no identification of ABAC. If we write class ABAC; after #include it will not show any error massage.
Find errors in the following program. State reasons.
// Program test
#include <iostream>
using namespace std;
class X
{
private:
int x1;
Protected:
int x2;
public:
int x3;
};
class Y: public X
{
public:
void f()
{
int y1,y2,y3;
y1 = x1;
y2 = x2;
y3 = x3;
}
};
class Z: X
{
public:
void f()
{
int z1,z2,z3;
z1 = x1;
z2 = x2;
z3 = x3;
}
};
main()
{
int m,n,p;
Y y;
m = y.x1;
n = y.x2;
p = y.x3;
Z z;
m = z.x1;
n = z.x2;
p = z.x3;
}
Here x1 is private, so x1 cannot be inherited.
y1 = x1; is not valid
z1 = x1; is not valid
m = y, x1; is not valid
m = z, x1; is not valid
Debug the following program.
// Test program
#include <iostream>
using namespace std;
class B1
{
int b1;
public:
void display();
{
cout << b1 <<"\n";
}
};
class B2
{
int b2;
public:
void display();
{
cout << b2 <<"\n";
}
};
class D: public B1, public B2
{
//nothing here
};
main()
{
D d;
d.display()
d.B1::display();
d.B2::display();
}
d.display ( ); show ‘ambiguity error’.
Here display() function should be declared as virtual in B1 class.
Next Previous