77 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
| #include <stdio.h>
 | |
| 
 | |
| namespace Foo
 | |
| {
 | |
|   namespace Bar
 | |
|   {
 | |
|     class Baz
 | |
|     {
 | |
|     public:
 | |
|       Baz (int value):m_value(value) {}
 | |
|       int Function () 
 | |
|       {
 | |
|         printf ("%s returning: %d.\n", __FUNCTION__, m_value);
 | |
|         return m_value + 1;
 | |
|       }
 | |
|     private:
 | |
|       int m_value;
 | |
|     };
 | |
| 
 | |
|     class Baz2
 | |
|     {
 | |
|     public:
 | |
|       Baz2 (int value):m_value(value) {}
 | |
|       int Function () 
 | |
|       {
 | |
|         printf ("%s returning: %d.\n", __FUNCTION__, m_value);
 | |
|         return m_value + 2;
 | |
|       }
 | |
|     private:
 | |
|       int m_value;
 | |
|     };
 | |
| 
 | |
|     static int bar_value = 20;
 | |
|     int Function ()
 | |
|     {
 | |
|       printf ("%s returning: %d.\n", __FUNCTION__, bar_value);
 | |
|       return bar_value + 3;
 | |
|     }
 | |
|   }
 | |
| }
 | |
| 
 | |
| class Baz
 | |
| {
 | |
| public:
 | |
|     Baz (int value):m_value(value) {}
 | |
|     int Function () 
 | |
|     {
 | |
|         printf ("%s returning: %d.\n", __FUNCTION__, m_value);
 | |
|         return m_value + 4;
 | |
|     }
 | |
| private:
 | |
|     int m_value;
 | |
| };
 | |
| 
 | |
| int
 | |
| Function ()
 | |
| {
 | |
|     printf ("I am a global function, I return 333.\n");
 | |
|     return 333;
 | |
| }
 | |
| 
 | |
| int main ()
 | |
| {
 | |
|   Foo::Bar::Baz mine(200);
 | |
|   Foo::Bar::Baz2 mine2(300);
 | |
|   ::Baz bare_baz (500);
 | |
| 
 | |
|   printf ("Yup, got %d from Baz.\n", mine.Function());
 | |
|   printf ("Yup, got %d from Baz.\n", mine2.Function());
 | |
|   printf ("Yup, got %d from Baz.\n", bare_baz.Function());  
 | |
|   printf ("And  got %d from Bar.\n", Foo::Bar::Function());
 | |
|   printf ("And  got %d from ::.\n", ::Function());
 | |
| 
 | |
|   return 0;
 | |
| 
 | |
| }
 |