199451b44SJordan Rupprecht #include <stdio.h>
299451b44SJordan Rupprecht #include <stdlib.h>
399451b44SJordan Rupprecht #include <stdint.h>
499451b44SJordan Rupprecht
599451b44SJordan Rupprecht typedef float RealNumber; // should show as char
699451b44SJordan Rupprecht typedef RealNumber Temperature; // should show as float
799451b44SJordan Rupprecht typedef RealNumber Speed; // should show as hex
899451b44SJordan Rupprecht
999451b44SJordan Rupprecht typedef int Counter; // should show as int
1099451b44SJordan Rupprecht typedef int BitField; // should show as hex
1199451b44SJordan Rupprecht
1299451b44SJordan Rupprecht typedef BitField SignalMask; // should show as hex
1399451b44SJordan Rupprecht typedef BitField Modifiers; // should show as hex
1499451b44SJordan Rupprecht
1599451b44SJordan Rupprecht typedef Counter Accumulator; // should show as int
1699451b44SJordan Rupprecht
1799451b44SJordan Rupprecht typedef int Type1; // should show as char
1899451b44SJordan Rupprecht typedef Type1 Type2; // should show as hex
1999451b44SJordan Rupprecht typedef Type2 Type3; // should show as char
2099451b44SJordan Rupprecht typedef Type3 Type4; // should show as char
2199451b44SJordan Rupprecht
2299451b44SJordan Rupprecht typedef int ChildType; // should show as int
2399451b44SJordan Rupprecht typedef int AnotherChildType; // should show as int
2499451b44SJordan Rupprecht
25*ac7c8808SRaphael Isemann struct TestPoint {
2699451b44SJordan Rupprecht int x;
2799451b44SJordan Rupprecht int y;
TestPointTestPoint28*ac7c8808SRaphael Isemann TestPoint(int X = 3, int Y = 2) : x(X), y(Y) {}
2999451b44SJordan Rupprecht };
3099451b44SJordan Rupprecht
3199451b44SJordan Rupprecht typedef float ShowMyGuts;
3299451b44SJordan Rupprecht
3399451b44SJordan Rupprecht struct i_am_cool
3499451b44SJordan Rupprecht {
3599451b44SJordan Rupprecht int integer;
3699451b44SJordan Rupprecht ShowMyGuts floating;
3799451b44SJordan Rupprecht char character;
i_am_cooli_am_cool3899451b44SJordan Rupprecht i_am_cool(int I, ShowMyGuts F, char C) :
3999451b44SJordan Rupprecht integer(I), floating(F), character(C) {}
i_am_cooli_am_cool4099451b44SJordan Rupprecht i_am_cool() : integer(1), floating(2), character('3') {}
4199451b44SJordan Rupprecht
4299451b44SJordan Rupprecht };
4399451b44SJordan Rupprecht
4499451b44SJordan Rupprecht struct i_am_cooler
4599451b44SJordan Rupprecht {
4699451b44SJordan Rupprecht i_am_cool first_cool;
4799451b44SJordan Rupprecht i_am_cool second_cool;
4899451b44SJordan Rupprecht ShowMyGuts floating;
4999451b44SJordan Rupprecht
i_am_cooleri_am_cooler5099451b44SJordan Rupprecht i_am_cooler(int I1, int I2, float F1, float F2, char C1, char C2) :
5199451b44SJordan Rupprecht first_cool(I1,F1,C1),
5299451b44SJordan Rupprecht second_cool(I2,F2,C2),
5399451b44SJordan Rupprecht floating((F1 + F2)/2) {}
5499451b44SJordan Rupprecht };
5599451b44SJordan Rupprecht
5699451b44SJordan Rupprecht struct IUseCharStar
5799451b44SJordan Rupprecht {
5899451b44SJordan Rupprecht const char* pointer;
IUseCharStarIUseCharStar5999451b44SJordan Rupprecht IUseCharStar() : pointer("Hello world") {}
6099451b44SJordan Rupprecht };
6199451b44SJordan Rupprecht
main(int argc,const char * argv[])6299451b44SJordan Rupprecht int main (int argc, const char * argv[])
6399451b44SJordan Rupprecht {
6499451b44SJordan Rupprecht
6599451b44SJordan Rupprecht int iAmInt = 1;
6699451b44SJordan Rupprecht const float& IAmFloat = float(2.45);
6799451b44SJordan Rupprecht
6899451b44SJordan Rupprecht RealNumber RNILookChar = 3.14;
6999451b44SJordan Rupprecht Temperature TMILookFloat = 4.97;
7099451b44SJordan Rupprecht Speed SPILookHex = 5.55;
7199451b44SJordan Rupprecht
7299451b44SJordan Rupprecht Counter CTILookInt = 6;
7399451b44SJordan Rupprecht BitField BFILookHex = 7;
7499451b44SJordan Rupprecht SignalMask SMILookHex = 8;
7599451b44SJordan Rupprecht Modifiers MFILookHex = 9;
7699451b44SJordan Rupprecht
7799451b44SJordan Rupprecht Accumulator* ACILookInt = new Accumulator(10);
7899451b44SJordan Rupprecht
7999451b44SJordan Rupprecht const Type1& T1ILookChar = 11;
8099451b44SJordan Rupprecht Type2 T2ILookHex = 12;
8199451b44SJordan Rupprecht Type3 T3ILookChar = 13;
8299451b44SJordan Rupprecht Type4 T4ILookChar = 14;
8399451b44SJordan Rupprecht
8499451b44SJordan Rupprecht AnotherChildType AHILookInt = 15;
8599451b44SJordan Rupprecht
8699451b44SJordan Rupprecht Speed* SPPtrILookHex = new Speed(16);
8799451b44SJordan Rupprecht
88*ac7c8808SRaphael Isemann TestPoint iAmSomewhere(4,6);
8999451b44SJordan Rupprecht
9099451b44SJordan Rupprecht i_am_cool *cool_pointer = (i_am_cool*)malloc(sizeof(i_am_cool)*3);
9199451b44SJordan Rupprecht cool_pointer[0] = i_am_cool(3,-3.141592,'E');
9299451b44SJordan Rupprecht cool_pointer[1] = i_am_cool(0,-3.141592,'E');
9399451b44SJordan Rupprecht cool_pointer[2] = i_am_cool(0,-3.141592,'E');
9499451b44SJordan Rupprecht
9599451b44SJordan Rupprecht i_am_cool cool_array[5];
9699451b44SJordan Rupprecht
9799451b44SJordan Rupprecht cool_array[3].floating = 5.25;
9899451b44SJordan Rupprecht cool_array[4].integer = 6;
9999451b44SJordan Rupprecht cool_array[2].character = 'Q';
10099451b44SJordan Rupprecht
10199451b44SJordan Rupprecht int int_array[] = {1,2,3,4,5};
10299451b44SJordan Rupprecht
10399451b44SJordan Rupprecht IUseCharStar iEncapsulateCharStar;
10499451b44SJordan Rupprecht
10599451b44SJordan Rupprecht char strarr[32] = "Hello world!";
10699451b44SJordan Rupprecht char* strptr = "Hello world!";
10799451b44SJordan Rupprecht
10899451b44SJordan Rupprecht i_am_cooler the_coolest_guy(1,2,3.14,6.28,'E','G');
10999451b44SJordan Rupprecht
11099451b44SJordan Rupprecht return 0; // Set break point at this line.
11199451b44SJordan Rupprecht }
11299451b44SJordan Rupprecht
113