}
void print(int x, int y)
{ cout<<"Calling print(int, int) with " <<x<<", "<<y<< "\n";
}
void print(double x)
{ cout<<"Calling print(double) with "<<x<<"\n";
例: int fun(int );
…
fun(‘A’); // 将字符‘A’转换为int型
(1)隐式类型转换引起的二义性 隐式类型转换是由编译程序自动完成,易引起函数重载 的二义性,例如:
#include <iostream.h> float abs(float x)
// 浮点类型数据的绝对值函数
{
程序设计是计算机学科的 核心和灵魂
程序设计基础
多态性
1 多态性的基本概念
1、程序的多态性
多态性:在程序中同一符号或名字在不同情况下具有 不同解释,如:运算符 / *
多态性的两种最基本形式 编译时多态性:指在程序编译阶段即可确定下来的 多态性,由重载机制实现: 函数重载 运算符重载 运行时多态性:指必须等到程序动态运行时才可确 定的多态性,由继承结合虚函数的动态绑定实现。
float f=1.5; print(f);
Calling print(double) with 1.5
}
4、构造函数重载
为一个类提供了初始化对象的各种方法。
#include <iostream.h>