,,c++ dynamic_cast与static_cast使用方法示例

,,c++ dynamic_cast与static_cast使用方法示例

本文用示例讲解了动态转换、静态转换子类与基类之间转换功能的使用方法

首先动态转换:复制代码代码如下:#包含iostreamusing命名空间stdA类{ public: virtual ~A(){} //使用动态转换时,必要!};B类:public A { public:B(){ m _ B=12;} void foo(){ cout ' b:' m _ bendl;} private:int m _ b;};int main(){ A * A=new B();b * b=dynamic _ castB *(a);b-foo();删除a;返回0;}

上面没有虚拟~A(){},编译时会报错:(源类型不是多态得).

静态转换:复制代码代码如下:#包含iostreamusing命名空间STD class A { public:A():m _ A(32){ } void foo(){ cout ' A:' m _ aendl;} void setA(int a){ m _ a=a;} private:int m _ a;};B类:public A { public:B(){ m _ B=12;刚毛(13);} void foo(){ cout ' b:' m _ bendl;} private:int m _ b;};int main(){ A * A=new B();b * b=static _ castB *(a);a * aa=static _ castA *(b);b-foo();aa-foo();删除a;返回0;}

打印a、b、aa地址,可知地址一样。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • vs2015打包安装程序,vs2015程序打包,VS2022实现VC++打包生成安装文件图文详细历程
  • vc++6.0的快捷键,vc 快捷键
  • vc++6.0的快捷键,vc 快捷键,VC6.0常用快捷键大全
  • 绘制圆角矩形的方法,c++ 画矩形,C#画圆角矩形的方法
  • 懒汉式和饿汉式代码,单列模式懒汉和饿汉,C++单例模式的懒汉模式和饿汉模式详解
  • 好用的C++编译器,c++编译软件哪个好
  • semaphore c#,c++ semaphore
  • semaphore c#,c++ semaphore,C++中Semaphore内核对象用法实例
  • dev-c++使用教程,dev c++安装教程
  • dev-c++使用教程,dev c++安装教程,Dev C++ 安装及使用方法(图文教程)
  • C里面指针常量和常量指针的区别,c++指针常量和常量指针
  • C里面指针常量和常量指针的区别,c++指针常量和常量指针,简单总结C++中指针常量与常量指针的区别
  • com组件初始化失败,c#开发com组件,C++中COM组件初始化方法实例分析
  • c++静态成员变量使用,c++静态成员函数和静态成员变量
  • c++静态成员变量使用,c++静态成员函数和静态成员变量,详解c++ 静态成员变量
  • 留言与评论(共有 条评论)
       
    验证码: