四种类型转换 cast

1.static_cast  

2.dynamic_cast

3.const_cast

4. reinterpret_cast


例子1:

float x;

cout<<static_cast<int>(x);

...

f(static_cast<string>("hello"));


例子2:

class Car;

class  Cabriolet:pbulic Car

{

};

class Limousine:public Car

{

};


void f(Car *cp)

{

    Cabriolet *p = dynamic_cast <Cabriolet*>(cp);

    if ( NULL != p)

    {

    }

}



例子3:


const  char *pChar1 = "Hello,microsoft visual studio  will help you ",

char * pChar2 = const_cast<char*>(pChar1);


例子4:


void * pT;

unsigned long  address= reinterpret_cast<unsigned long>(pT);

posted @ 2012-03-06 16:02  java消费保护  阅读(366)  评论(0编辑  收藏  举报