C++ 通过指针实现多态实例详解
1.父类(DBConnector)
1)DBConnector.h
#include <string> using namespace std; class DBConnector { private: string name; public: DBConnector(); DBConnector(string _name); ~DBConnector(); void show(); };
2)DBConnector.cpp
#include "DBConnector.h" #include <iostream> using namespace std; DBConnector::DBConnector() { } DBConnector::DBConnector(string _name) { name = _name; } DBConnector::~DBConnector() { } void DBConnector::show() { cout << name << endl; }
2.子类1(MySqlConnector)
1)MSSqlConnector.h
#pragma once #include "DBConnector.h" class MSSqlConnector :public DBConnector { public: MSSqlConnector(); MSSqlConnector(string _name); ~MSSqlConnector(); };
2)MSSqlConnector.cpp
#include "MSSqlConnector.h" MSSqlConnector::MSSqlConnector() { } MSSqlConnector::MSSqlConnector(string _name) :DBConnector(_name) { } MSSqlConnector::~MSSqlConnector() { }
3.子类2(MSSqlConnector)
1)MSSqlConnector.h
#pragma once #include "DBConnector.h" class MSSqlConnector :public DBConnector { public: MSSqlConnector(); MSSqlConnector(string _name); ~MSSqlConnector(); };
2)MSSqlConnector.pp
#include "MSSqlConnector.h" MSSqlConnector::MSSqlConnector() { } MSSqlConnector::MSSqlConnector(string _name) :DBConnector(_name) { } MSSqlConnector::~MSSqlConnector() { }
4.Test
#include "MySqlConnector.h" #include "MSSqlConnector.h" #include <iostream> #include <string> using namespace std; void main() { MySqlConnector mysql("mysql"); MSSqlConnector mssql("mssql"); DBConnector* p; p = &mysql; p->show(); p = &mssql; p->show(); //mysql.show(); //mssql.show(); }
5.运行结果
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
本文向大家介绍C++智能指针实例详解,包括了C++智能指针实例详解的使用技巧和注意事项,需要的朋友参考一下 本文通过实例详细阐述了C++关于智能指针的概念及用法,有助于读者加深对智能指针的理解。详情如下: 一、简介 由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存都要手动 delete。程序员忘记 delete,流程太复杂,最终导致没有 delete,异常导致程序过早退出,没
本文向大家介绍C/C++静态类和this指针详解及实例代码,包括了C/C++静态类和this指针详解及实例代码的使用技巧和注意事项,需要的朋友参考一下 C/C++静态类和this指针详解 1、静态类 C++的静态成员不仅可以通过对象来访问,还可以直接通过类名来访问。 静态成员变量 对应静态成员有以下几点需要注意: (1)静态数据成员可以是当前类的类型,而其他数据成员只能是当前类的指针或应用类型。
本文向大家介绍C++中this指针用法详解及实例,包括了C++中this指针用法详解及实例的使用技巧和注意事项,需要的朋友参考一下 C++中this指针用法详解及实例 概要: 本文简单介绍this指针的基本概念,并通过一个实际例子介绍this指针用于防止变量命名冲突和用于类中层叠式调用的两个用法。 this指针概览 C++中,每个类 对应了一个对象,每个对象指向自己所在内存地址的方式即为使用thi
本文向大家介绍C++交换指针实例,包括了C++交换指针实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C++交换指针的方法。分享给大家供大家参考。具体分析如下: 通常情况下,我们只是对普通数据进行交换,交换指针的问题很少涉及,这里总结下,也方便我们以后查阅。 首先看下整型两个数据的交换(这个比较简单,就不多介绍了),核心代码如下: 指针是内存地址,应该也算是整型变量,交换两个指针和交换
本文向大家介绍C++中指针指向二维数组实例详解,包括了C++中指针指向二维数组实例详解的使用技巧和注意事项,需要的朋友参考一下 C++中指针指向二维数组实例详解 一维指针通常用指针表示,其指向的地址是数组第一元素所在的内存地址,如下 那么ary[4]相当于int(*aryp),以下理解如此,但参数传递需要知道实参所在 的一维个数,所以传递的时候应该传递多一个参数,子数组的引用可以理解 为(*p),
本文向大家介绍C语言中二级指针的实例详解,包括了C语言中二级指针的实例详解的使用技巧和注意事项,需要的朋友参考一下 C语言中二级指针的实例详解 用图说明 示例代码: 如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!