Wednesday, May 12, 2010

Syntax Highlighting test

http://heisencoder.net/2009/01/adding-syntax-highlighting-to-blogger.html

// staticInherited.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include < stdio.h >

class base
{
public:
 base() : m_BaseValue(1) {;}

 static base& GetInstance();
 
 void setBase(int value) { m_BaseValue = value; }
 int getBase() { return m_BaseValue; }

 void setBaseStatic(int value) { m_BaseStatic = value; }
 int getBaseStatic() { return m_BaseStatic; }

private:
 int m_BaseValue;
 static int m_BaseStatic;
};

class child : public base
{
public:
 child() : m_ChildValue(2) {;}

 static child& GetInstance();
 
 void setChild(int value) { m_ChildValue = value; }
 int getChild() { return m_ChildValue; }

 void setChildStatic(int value) { m_ChildStatic = value; }
 int getChildStatic() { return m_ChildStatic; }

private:
 int m_ChildValue;
 static int m_ChildStatic;
};

int _tmain(int argc, _TCHAR* argv[])
{
 base b;
 child c;

 c.setBaseStatic(5);

 base::GetInstance().setBaseStatic(20);
 child::GetInstance().setBaseStatic(1);
 
 c.setChildStatic(11);
 child::GetInstance().setChildStatic(22);

 base bb;
 child cc;

 cc.setChildStatic(55);
 cc.setChild(100);
 bb.setBase(30);
 bb.setBaseStatic(200);

 child::GetInstance().setChild(40);
 child::GetInstance().setBase(77);

 base::GetInstance().setBase(44);
 base::GetInstance().setBaseStatic(888);

 return 0;
}

int base::m_BaseStatic = 0;
base& base::GetInstance()
{
 static base b;
 return b;
}

int child::m_ChildStatic = 0;
child& child::GetInstance()
{
 static child c;
 return c;
}

참고로 이 코드는 아무짝에 쓸모없는 코드임을 밝힙니다. :-)

2 comments:

  1. 이건 아무 문제 없이 잘 되는군.
    범인은 template 인건가!!!

    ReplyDelete
  2. 하하하 알아냈다.
    양 부등호 사이에 공백을 넣어주니 문제없어졌다.
    음. 그럼 stream 표현하는 더블 부등호는 어케 나오려나. -_-;

    ReplyDelete