brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · 7406496 Raw
77 lines · cpp
1#include <stdio.h>2 3namespace Foo4{5  namespace Bar6  {7    class Baz8    {9    public:10      Baz (int value):m_value(value) {}11      int Function () 12      {13        printf ("%s returning: %d.\n", __FUNCTION__, m_value);14        return m_value + 1;15      }16    private:17      int m_value;18    };19 20    class Baz221    {22    public:23      Baz2 (int value):m_value(value) {}24      int Function () 25      {26        printf ("%s returning: %d.\n", __FUNCTION__, m_value);27        return m_value + 2;28      }29    private:30      int m_value;31    };32 33    static int bar_value = 20;34    int Function ()35    {36      printf ("%s returning: %d.\n", __FUNCTION__, bar_value);37      return bar_value + 3;38    }39  }40}41 42class Baz43{44public:45    Baz (int value):m_value(value) {}46    int Function () 47    {48        printf ("%s returning: %d.\n", __FUNCTION__, m_value);49        return m_value + 4;50    }51private:52    int m_value;53};54 55int56Function ()57{58    printf ("I am a global function, I return 333.\n");59    return 333;60}61 62int main ()63{64  Foo::Bar::Baz mine(200);65  Foo::Bar::Baz2 mine2(300);66  ::Baz bare_baz (500);67 68  printf ("Yup, got %d from Baz.\n", mine.Function());69  printf ("Yup, got %d from Baz.\n", mine2.Function());70  printf ("Yup, got %d from Baz.\n", bare_baz.Function());  71  printf ("And  got %d from Bar.\n", Foo::Bar::Function());72  printf ("And  got %d from ::.\n", ::Function());73 74  return 0;75 76}77