c++ code

Dear All,

I know java but I am a newbie in c++ and I am trying to learn ns3 .

could anybody tell me what is going on in this two code snippets? ( these are talking from Chap 7 , ns3 tutorial)

class MyObject : public Object   {   public:     static TypeId GetTypeId (void)     {       static TypeId tid = TypeId ("MyObject")         .SetParent (Object::GetTypeId ())         .AddConstructor<MyObject> ()         .AddTraceSource ("MyInteger",                          "An integer value to trace.",                          MakeTraceSourceAccessor (&MyObject::m_myInt))         ;       return tid;     }          MyObject () {}     TracedValue<int32_t> m_myInt;   };
int   main (int argc, char *argv[])   {     Ptr<MyObject> myObject = CreateObject<MyObject> ();     myObject->TraceConnectWithoutContext ("MyInteger", MakeCallback(&IntTrace));        myObject->m_myInt = 1234;   }

your help is HIGHLY appreciated

---------- Post updated at 11:37 PM ---------- Previous update was at 11:32 PM ----------

I will post the code snippets again here .

class MyObject : public Object
{
public:
static TypeId GetTypeId (void)
{
static TypeId tid = TypeId ("MyObject")
.SetParent (Object::GetTypeId ())
.AddConstructor<MyObject> ()
.AddTraceSource ("MyInteger",
"An integer value to trace.",
MakeTraceSourceAccessor (&MyObject::m_myInt))
;
return tid;
}
MyObject () {}
TracedValue<int32_t> m_myInt;
};

void
IntTrace (int32_t oldValue, int32_t newValue)
{
std::cout << "Traced " << oldValue << " to " << newValue << std::endl;
}