c++子类父类的转换关系
来源:互联网 发布:维奈斯淘客采集软件 编辑:程序博客网 时间:2024/05/22 03:02
#include <iostream>
using namespace std;
class A
{
public:
virtual void foo() { cout<<"A foo"<<endl; }
void pp() { cout<<"A pp"<<endl; }
};
class B: public A
{
public:
void foo() { cout<<"B foo"<<endl; }
void pp() { cout<<"B pp"<<endl; }
void FunctionB() { cout<<"Excute FunctionB!"<<endl; }
};
int main(int argc,char argv[])
{
A a;
B b;
A *pa=&b;
pa->foo();
pa->pp();
if (B *pb=dynamic_cast<B*>(pa))
{
cout<<"Convert from B to A successfully"<<endl;
(dynamic_cast<B*>(pa))->FunctionB();
(dynamic_cast<B*>(pa))->foo();
(dynamic_cast<B*>(pa))->pp();
(*pa).foo();
}
else
cout<<"Cannot convert from B to A"<<endl;
return 0;
}
using namespace std;
class A
{
public:
virtual void foo() { cout<<"A foo"<<endl; }
void pp() { cout<<"A pp"<<endl; }
};
class B: public A
{
public:
void foo() { cout<<"B foo"<<endl; }
void pp() { cout<<"B pp"<<endl; }
void FunctionB() { cout<<"Excute FunctionB!"<<endl; }
};
int main(int argc,char argv[])
{
A a;
B b;
A *pa=&b;
pa->foo();
pa->pp();
if (B *pb=dynamic_cast<B*>(pa))
{
cout<<"Convert from B to A successfully"<<endl;
(dynamic_cast<B*>(pa))->FunctionB();
(dynamic_cast<B*>(pa))->foo();
(dynamic_cast<B*>(pa))->pp();
(*pa).foo();
}
else
cout<<"Cannot convert from B to A"<<endl;
return 0;
}
0 0
- c++子类父类的转换关系
- 关于java接口、父类子类之间调用和强制转换的关系
- c++子类与父类的关系
- php 子类与父类的关系
- 子类和父类的关系
- 父类与子类的关系
- 【学习】父类和子类的关系
- 父类与子类的转换条件
- 父类与子类之间的转换
- Java子类与父类的转换
- 父类与子类之间的转换
- java 父类与子类的转换
- Java子类与父类的转换
- 子类和父类的相互转换
- 父类与子类之间的转换
- Java 子类父类关系
- 16. 子类父类关系
- java异常类子类和父类的关系
- oc中的常用结构体
- Codeforces Round #225 (Div. 2)(B思维题,E:dfs+树状数组)
- 数据结构实验:AVL平衡树做出用户登录系统(dos界面)
- linux系统编程之基础必备(三):文件描述符file descriptor与inode的相关知识
- 烂笔头之使用数据库之前要先在项目中添加数据库驱动包
- c++子类父类的转换关系
- HDU 2046 骨牌铺方格。
- Pod::Executable pull
- xml -dom4j(一)
- 我的cocos2dx----常见错误:mt.exe : general error c101008d: Failed to write the updated manifest to the reso
- 【Lua】ElJudge 003 Contest Table
- xml-dom4j-xpath
- HDU 2018 母牛的故事。
- C++中ID、指针、handle (void *)的区别