1. static const int m_ nMyConst; //只有静态常量整型(枚举型)数据成员在可以在类中初始化; (enum MyEnum{A, B, C};
 static const MyEnum m_myenum = B;
 )
const int m_nMyVal; //必须在构造函数基/成员初始值设定项列表中初始化。

2. 关于继承
#include "stdafx.h"
#include <iostream>
using namespace std;

class student
{
public:  
  student(char *pName = "No name")  
  {
 strcpy((char*)name, pName);
 semesterhours = 0;
  } 
protected:
  void addcourse(int hours)  
  {
 semesterhours += hours;
 cout << "semesterhours" << semesterhours << endl;
  }
public:
 int pubval;
protected:  
 int proval;
//private:
  char  name[40];  
  int  semesterhours;  
private:
 int prival;
};

class graduatestudent:protected   student  
{
public:
 void addcoursetoo(int h)
 {
  pubval = 10;
  proval = 20;
  //prival = 30;
  prival2 = 40;
  student::addcourse(h);
 }
private:
 int prival2;
}; 

class citizen:private graduatestudent
{
public:
 void addcourse3(int h)
 {
  addcoursetoo(100);
  addcourse(400);
  pubval = 200;
  proval = 300;
 }
};

int _tmain(int argc, _TCHAR* argv[])
{
 student   ds("undergradute");  
   graduatestudent   gs;  
 //gs.addcourse(30);  
 gs.addcoursetoo(40);

 getchar();

 return 0;
}

 3. 定义只能创建一个实例的类
#include "stdafx.h"
#include <windows.h>
#include <iostream>

#include <iostream>
using namespace std;

class   CDebug  
  {  
  public:  
   ~CDebug(){} 
   
          void   Print(const char *str)
    {
     printf(str);
    }
          static   CDebug &GetInstance()    
          {  
    static CDebug debug;
                 //return   s_debug;    
    return debug;
    
          }
    void SetName(char * n)
    {
     strcpy(Name, n);
    }
    void PrintName(void)
    {
     printf("Name: %s\n", Name);
    }
  private:  
          HANDLE   m_StdOut; 
    char Name[10];

              static    CDebug  * s_debug;    
          //防止直接生成实例  
    CDebug(){}  
  };  


int _tmain(int argc, _TCHAR* argv[])
{
 //CDebug object = CDebug::GetInstance();
 CDebug::GetInstance().Print("hello dshe\n");
 CDebug::GetInstance().SetName("ASON");
 CDebug::GetInstance().PrintName();

 CDebug object2 = CDebug::GetInstance();
 object2.PrintName();
 getchar();

 return 0;
}

 4.
#include "stdafx.h"
#include "iostream"
using namespace std;

class MyClass
{
public:
 MyClass(char * n = "No Name")
 {
  printf("MyClass\n");
  strcpy(m_Name, n);
 }
 static MyClass GetObj(char * nn)
 {
  return MyClass(nn);
 }
 ~MyClass()
 {
  printf("~MyClass\n");
 }
 void Print(void)
 {
  printf("Name: %s\n", m_Name);
 }
private:
 char m_Name[10];
};

int _tmain(int argc, _TCHAR* argv[])
{
 MyClass p;
 p = MyClass("aAAbBB");
 p.Print();
 getchar();

 return 0;