#include<iostream>
using namespace std;
class Person {
// Data members of person
public :
Person( int x) { cout << "Person::Person(int ) called" << endl; }
} ;
class Faculty : public Person {
// data members of Faculty
public :
Faculty( int x) : Person( x) {
cout << "Faculty::Faculty(int ) called" << endl;
}
} ;
class Student : public Person {
// data members of Student
public :
Student( int x) : Person( x) {
cout << "Student::Student(int ) called" << endl;
}
} ;
class TA : public Faculty, public Student {
public :
TA( int x) : Student( x) , Faculty( x) {
cout << "TA::TA(int ) called" << endl;
}
} ;
int main( ) {
TA ta1( 30 ) ;
}
}
I2luY2x1ZGU8aW9zdHJlYW0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNsYXNzIFBlcnNvbiB7CiAgIC8vIERhdGEgbWVtYmVycyBvZiBwZXJzb24KcHVibGljOgogICAgUGVyc29uKGludCB4KSAgeyBjb3V0IDw8ICJQZXJzb246OlBlcnNvbihpbnQgKSBjYWxsZWQiIDw8IGVuZGw7ICAgfQp9OwogCmNsYXNzIEZhY3VsdHkgOiBwdWJsaWMgUGVyc29uIHsKICAgLy8gZGF0YSBtZW1iZXJzIG9mIEZhY3VsdHkKcHVibGljOgogICAgRmFjdWx0eShpbnQgeCk6UGVyc29uKHgpICAgewogICAgICAgY291dDw8IkZhY3VsdHk6OkZhY3VsdHkoaW50ICkgY2FsbGVkIjw8IGVuZGw7CiAgICB9Cn07CiAKY2xhc3MgU3R1ZGVudCA6IHB1YmxpYyBQZXJzb24gewogICAvLyBkYXRhIG1lbWJlcnMgb2YgU3R1ZGVudApwdWJsaWM6CiAgICBTdHVkZW50KGludCB4KTpQZXJzb24oeCkgewogICAgICAgIGNvdXQ8PCJTdHVkZW50OjpTdHVkZW50KGludCApIGNhbGxlZCI8PCBlbmRsOwogICAgfQp9OwogCmNsYXNzIFRBIDogcHVibGljIEZhY3VsdHksIHB1YmxpYyBTdHVkZW50ICB7CnB1YmxpYzoKICAgIFRBKGludCB4KTpTdHVkZW50KHgpLCBGYWN1bHR5KHgpICAgewogICAgICAgIGNvdXQ8PCJUQTo6VEEoaW50ICkgY2FsbGVkIjw8IGVuZGw7CiAgICB9Cn07CiAKaW50IG1haW4oKSAgewogICAgVEEgdGExKDMwKTsKfQp9
compilation info
prog.cpp: In constructor ‘TA::TA(int)’:
prog.cpp:27:36: warning: base ‘Student’ will be initialized after [-Wreorder]
TA(int x):Student(x), Faculty(x) {
^
prog.cpp:27:36: warning: base ‘Faculty’ [-Wreorder]
prog.cpp:27:5: warning: when initialized here [-Wreorder]
TA(int x):Student(x), Faculty(x) {
^
prog.cpp: At global scope:
prog.cpp:35:1: error: expected declaration before ‘}’ token
}
^
stdout