C++类继承示例
作者:网络转载 发布时间:[ 2015/2/28 13:29:23 ] 推荐标签:C++ 软件开发 继承
C++的子类与孙子类都实现了虚函数时,孙子类的实现会覆盖掉子类的实现。
继承的主要的应用是把不同的类放到一个数组中,然后遍历调用同名函数。
实例如下:
#include <iostream>
#include <stdlib.h>
#include <vector>
using namespace std;
class Parent{
protected:
string pname;
public:
Parent(string name){
pname=name;
}
virtual void printName(){};
};
class Child: public Parent{
protected:
string cname;
public:
Child(string name):Parent(name){
cname=name;
}
virtual void printName(){
cout<<"This is child, cname is "<<cname<<", pname is "<<pname<<endl;
}
};
class GrandChild: public Child{
private:
string gname;
public:
GrandChild(string name):Child(name){
gname=name;
}
virtual void printName(){
cout<<"This is grandchild, gname is "<<gname<<", cname is "<<cname<<", pname is "<<pname<<endl;
}
};
int main(){
string name="C";
Child child(name);
name="GC";
GrandChild gchild(name);
vector<Parent*> mlist;
mlist.push_back(dynamic_cast<Parent*>(&child));
mlist.push_back(dynamic_cast<Parent*>(&gchild));
for(int i=0;i<mlist.size();++i){
mlist[i]->printName();
}
}
注意子类与孙子类的printName函数前的virtual可加可不加,都可以正确运行……
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11