C++ 通过指针实现多态实例详解
更新时间:2017年03月25日 17:01:51 投稿:lqh
这篇文章主要介绍了 C++ 通过指针实现多态实例详解的相关资料,需要的朋友可以参考下
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.运行结果

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关文章
VC外部符号错误_main,_WinMain@16,__beginthreadex解决方法
这篇文章主要介绍了VC外部符号错误_main,_WinMain@16,__beginthreadex解决方法,实例分析了比较典型的错误及对应的解决方法,需要的朋友可以参考下2015-05-05
C语言报错:Undefined Reference的产生原因和解决方案
Undefined Reference(未定义引用)是C语言编译过程中常见的错误之一,通常在链接阶段出现,本文将详细介绍Undefined Reference的产生原因,提供多种解决方案,并通过实例代码演示如何有效避免和解决此类错误,需要的朋友可以参考下2024-06-06


最新评论