1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
// RUN: %clang_cc1 %s -emit-llvm -o %t
extern "C" int printf(...);
struct M {
M(int i){ iM = i; }
int iM;
void MPR() { printf("iM = %d\n", iM); }
};
struct Q {
Q(int i){ iQ = i; }
int iQ;
void QPR() { printf("iQ = %d\n", iQ); }
};
struct IQ {
IQ(int i) { iIQ = i; }
void IQPR() { printf("iIQ = %d\n", iIQ); }
int iIQ;
};
struct L : IQ {
L(int i) : IQ(i+100) { iL = i; }
int iL;
};
struct P : Q, L {
P(int i) : Q(i+100), L(i+200) { iP = i; }
int iP;
void PPR() { printf("iP = %d\n", iP); }
};
struct N : M,P {
N() : M(100), P(200) {}
void PR() {
this->MPR(); this->PPR(); this->QPR();
IQPR();
printf("iM = %d\n", iM);
printf("iP = %d\n", iP);
printf("iQ = %d\n", iQ);
printf("iL = %d\n", iL);
printf("iIQ = %d\n", iIQ);
}
};
int main() {
N n1;
n1.PR();
}
|