#include <stdio.h>
#include <vector>
class ElementClass {
private:
double r = 8.1;
std::vector<int> vect1{ 10, 20, 30, 5, 1 };
double m = 7.4;
};
class BaseClass {
private:
int i = 4;
ElementClass c;
};
class BaseClass2 {
private:
double r2 = 7.1;
double m2 = 6.7;
std::vector<int> vect2{ 3, 14, 15, 92 };
};
class DerivedClass : BaseClass, BaseClass2 {
private:
double d = 9.8;
};
struct DerivedClass_def {
// BaseClass
int i;
// ElementClass
double r;
std::vector<int> vect1;
double m;
// BaseClass2
double r2;
double m2;
std::vector<int> vect2;
// DerivedClass
double d;
};
int main()
{
DerivedClass* d = new DerivedClass();
DerivedClass_def* df = (DerivedClass_def*)d;
printf("i = %d\n", df->i);
printf("r = %.1f\n", df->r);
printf("m = %.1f\n", df->m);
printf("vect1.size = %d\n", df->vect1.size());
printf("vect1 = {");
if (df->vect1.size()>0){
printf("%d", df->vect1[0]);
}
for (int n = 1; n < df->vect1.size(); n++){
printf(", %d", df->vect1[n]);
}
printf("};\n");
printf("r2 = %.1f\n", df->r2);
printf("m2 = %.1f\n", df->m2);
printf("vect2.size = %d\n", df->vect2.size());
printf("vect2 = {");
if (df->vect2.size()>0){
printf("%d", df->vect2[0]);
}
for (int n = 1; n < df->vect2.size(); n++){
printf(", %d", df->vect2[n]);
}
printf("};\n");
printf("d = %.1f\n", df->d);
delete d;
d = NULL;
return 0;
}