c++语法(2)
#include<iostream>
#include<windows.h>
using namespace std; class Parents
{
public:
virtual void vir_func(char a='x',char b='y',char c='z'); //虚函数
Parents();
~Parents();
}; void Parents::vir_func(char a,char b,char c)
{
cout<<"父类的vir_func函数正在运行..."<<"参数为:"<<a<<","<<b<<","<<c<<endl; }
Parents::Parents()
{
cout<<"父类的构造函数正在运行..."<<endl; } Parents::~Parents()
{} class Child:public Parents
{
public:
~Child();
Child(int a,char c);
};
Child::Child(int i,char c)
{
cout<<"子类的构造函数正在运行..."<<"参数为:"<<i<<","<<c<<endl; }
Child::~Child()
{} class B
{
public:
Parents *Par;
void Init();
};
void B::Init()
{
//父类指向子类
Par=new Child(,'c');
cout<<"基类类型的指针已经绑定到派生类..."<<endl;
Par->vir_func('d','e','f');
} int main()
{ B Test;
Test.Init();
system("pause");
return ;
}
#include<iostream>
#include<windows.h>
using namespace std; class Parents
{
public:
virtual void vir_func(char a='x',char b='y',char c='z'); //虚函数
Parents();
~Parents();
}; void Parents::vir_func(char a,char b,char c)
{
cout<<"父类的vir_func函数正在运行..."<<"参数为:"<<a<<","<<b<<","<<c<<endl; }
Parents::Parents()
{
cout<<"父类的构造函数正在运行..."<<endl; } Parents::~Parents()
{} class Child:public Parents
{
public:
void vir_func(char a,char b,char c);
~Child();
Child(int a,char c);
};
void Child::vir_func(char a,char b,char c)
{
cout<<"子类的vir_func函数正在运行..."<<"参数为:"<<a<<","<<b<<","<<c<<endl;
}
Child::Child(int i,char c)
{
cout<<"子类的构造函数正在运行..."<<"参数为:"<<i<<","<<c<<endl; }
Child::~Child()
{} class B
{
public:
Parents *Par;
void Init();
};
void B::Init()
{
//父类指向子类
Par=new Child(,'c');
cout<<"基类类型的指针已经绑定到派生类..."<<endl;
Par->vir_func('d','e','f');
} int main()
{ B Test;
Test.Init();
system("pause");
return ;
}
从上面的2段程序可以看出:
当基类动态绑定到派生类时,如果派生类没有实现基类的虚函数,那么调用的是基类自己实现的虚函数。
若派生类重新定义虚函数,那么执行的则是派生类实现的虚函数。
c++语法(2)的更多相关文章
- 我的MYSQL学习心得(一) 简单语法
我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- Swift与C#的基础语法比较
背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...
- 探索C#之6.0语法糖剖析
阅读目录: 自动属性默认初始化 自动只读属性默认初始化 表达式为主体的函数 表达式为主体的属性(赋值) 静态类导入 Null条件运算符 字符串格式化 索引初始化 异常过滤器when catch和fin ...
- [C#] 回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性
回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性 序 目前最新的版本是 C# 7.0,VS 的最新版本为 Visual Studio 2017 RC,两者都尚未进入正式阶段.C# 6.0 ...
- Velocity初探小结--velocity使用语法详解
做java开发的朋友一般对JSP是比较熟悉的,大部分人第一次学习开发View层都是使用JSP来进行页面渲染的,我们都知道JSP是可以嵌入java代码的,在远古时代,java程序员甚至在一个jsp页面上 ...
- node.js学习(二)--Node.js控制台(REPL)&&Node.js的基础和语法
1.1.2 Node.js控制台(REPL) Node.js也有自己的虚拟的运行环境:REPL. 我们可以使用它来执行任何的Node.js或者javascript代码.还可以引入模块和使用文件系统. ...
- C#语法糖大汇总
首先需要声明的是"语法糖"这个词绝非贬义词,它可以给我带来方便,是一种便捷的写法,编译器会帮我们做转换:而且可以提高开发编码的效率,在性能上也不会带来损失.这让java开发人员羡慕 ...
- 值得注意的ibatis动态sql语法格式
一.Ibatis常用动态sql语法,简单粗暴用一例子 <select id="iBatisSelectList" parameterClass="java.util ...
- Flex 布局教程:语法篇
作者: 阮一峰 网页布局(layout)是CSS的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便 ...
- postgresql 基本语法
postgresql数据库创建/修改/删除等写入类代码语法总结: 1,创建库 2,创建/删除表 2.1 创建表 create table myTableName 2.2 如果表不存在则创建表 crea ...
随机推荐
- tornado和vue的模板冲突解决方法
tornado和vue的模板冲突解决方法 Vue的插值表达式和tornado的模板都为一对花括号,可以通过修改vue的插值表达式的符号来解决这个问题,具体方法如下: var vm = new Vue( ...
- 知乎live - 三年从前端小工到架构
王利华 刚毕业 在高德 携程 淘宝 0-3年如何发展 1 技能和能力的区别 css js 抽象 切勿好高骛远 要重视基础 2 人和人的差距是什么 注意个人品牌 提高 ...
- bzoj 4236JOIOJI
一开始忘掉特殊情况也是蛋疼2333(有一直到头的.mp[0][0]是要特判的) 做法也就是找mp[i][j]相同的东西.(貌似可以写成线性方程组(z=x+A,z=y+B)过这个的就是相等(可以先从2维 ...
- 路飞学城—Python爬虫实战密训班 第三章
路飞学城—Python爬虫实战密训班 第三章 一.scrapy-redis插件实现简单分布式爬虫 scrapy-redis插件用于将scrapy和redis结合实现简单分布式爬虫: - 定义调度器 - ...
- 吴裕雄--天生自然JAVA SPRING框架开发学习笔记:Spring CGLlB动态代理
JDK 动态代理使用起来非常简单,但是它也有一定的局限性,这是因为 JDK 动态代理必须要实现一个或多个接口,如果不希望实现接口,则可以使用 CGLIB 代理. CGLIB(Code Generati ...
- 编写软件动态加载NT式驱动
NT式设备驱动程序的动态加载主要是由服务控制管理程序(Service Control Manager,即SCM)系统组件来完成的. Windwos服务可以在系统启动时加载,用户也可以按需在服务控制平台 ...
- VBA代码优化及其他设置操作
一.代码优化的一些方法 尽量减少在循环中遍历调用对象,公式计算 (操作VBA代码若出现屏幕闪屏,会拖慢运行速度),可以禁止屏幕闪屏.多用在操作工作表/薄,单元格的时候. Application.Scr ...
- Ubuntu Kylin 14.04LTS 开机后卡在登陆界面,可以进入字符界面,或者登陆后鼠标不显示但是管用
2014年4月27日,距离中期检查还有七天,基本上什么也没做,特别着急,雨已经下了快一天了,中午用美团外卖定的黄焖排骨,MD,什么玩意,那么一点点就18块钱,一看就不值五块钱,发誓再也不吃,最重要的是 ...
- 正则表达式模式修正符 比如/esi
正则表达式模式修正符 比如/esi 作者: 字体:[增加 减小] 类型:转载 下面列出了当前在 PCRE 中可能使用的修正符.括号中是这些修正符的内部 PCRE 名.修正符中的空格和换行被忽略,其它字 ...
- ES6 之 Math对象的扩展
1.ES5 http://www.w3school.com.cn/jsref/jsref_obj_math.asp 2.ES6 Math.trunc() - 取整,去掉一个数的小数部分 console ...