You've already forked linux-packaging-mono
							
							
		
			
				
	
	
		
			65 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| // Compile with "cl /c /Zi /GR- ClassLayoutTest.cpp"
 | |
| // Link with "link ClassLayoutTest.obj /debug /nodefaultlib /entry:main"
 | |
| 
 | |
| namespace MembersTest {
 | |
|   class A {
 | |
|   public:
 | |
|     typedef int NestedTypedef;
 | |
|     enum NestedEnum {
 | |
|       NestedEnumValue1
 | |
|     };
 | |
| 
 | |
|     void MemberFunc() {}
 | |
| 
 | |
|   private:
 | |
|     int IntMemberVar;
 | |
|     double DoubleMemberVar;
 | |
|   };
 | |
| }
 | |
| 
 | |
| namespace GlobalsTest {
 | |
|   int IntVar;
 | |
|   double DoubleVar;
 | |
|   
 | |
|   typedef int Typedef;
 | |
|   enum Enum {
 | |
|     Val1
 | |
|   } EnumVar;
 | |
|   Typedef TypedefVar;
 | |
| }
 | |
| 
 | |
| namespace BaseClassTest {
 | |
|   class A {};
 | |
|   class B : public virtual A {};
 | |
|   class C : public virtual A {};
 | |
|   class D : protected B, private C {};
 | |
| }
 | |
| 
 | |
| namespace UdtKindTest {
 | |
|   struct A {};
 | |
|   class B {};
 | |
|   union C {};
 | |
| }
 | |
| 
 | |
| namespace BitFieldTest {
 | |
|   struct A {
 | |
|     int Bits1 : 1;
 | |
|     int Bits2 : 2;
 | |
|     int Bits3 : 3;
 | |
|     int Bits4 : 4;
 | |
|     int Bits22 : 22;
 | |
|     int Offset0x04;
 | |
|   };
 | |
| };
 | |
| 
 | |
| int main(int argc, char **argv) {
 | |
|   MembersTest::A v1;
 | |
|   v1.MemberFunc();
 | |
|   BaseClassTest::D v2;
 | |
|   UdtKindTest::A v3;
 | |
|   UdtKindTest::B v4;
 | |
|   UdtKindTest::C v5;
 | |
|   BitFieldTest::A v7;
 | |
|   return 0;
 | |
| }
 |