c++中父类和派生类
时间:2011-12-24
来源:互联网
例如:
#include<iostream>
using namespace std;
class Base
{
public:
Base(){}
void virtual print()=0;
};
class Child:public Base
{
public:
Child(){}
void virtual print()
{
cout<<"child class\n";
}
void printchlid()
{
cout<<"child fention\n";
}
};
#include"Head.h"
#include <iostream>
int main()
{
Base *base;
Child child;
base=&child;
child.print();
child.printchlid();
base->print();
base->printchild();//这行出问题了,怎么解决让它能调用子类中所特有的函数
return 0;
}
作者: nhlbengbeng 发布时间: 2011-12-24
dynamic_cast<Child*>(base)->printchild();
作者: mingliang1212 发布时间: 2011-12-24
作者: q96456 发布时间: 2011-12-24
std::cout<<"erro";//如果base实际上不是指向child类型,就会为NULL
else
pc->printchild();
作者: mingliang1212 发布时间: 2011-12-24
作者: Maxwell 发布时间: 2011-12-24
1:强制转换dynamic_cast
2:定义虚函数
通常是第二种方法吧,在父类中定义相同的虚函数,这是虚函数一个典型的应用
作者: IT_LEAF 发布时间: 2011-12-24
作者: blh 发布时间: 2011-12-24
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28