demo_3_polymorphism_virtual_function_2_b.cpp

来自「对于一个初涉VC++的人来书」· C++ 代码 · 共 38 行

CPP
38
字号

//***************************************************
// 多态性和虚函数
// 区别参数为基类对象或其引用时程序执行结果的不同
//***************************************************

#include <iostream.h>

class A //基类A声明
{
public:
	virtual void display(){cout<<"A::display()"<<endl;}	//虚成员函数
};

class B: public A //公有派生类B声明
{
public:
	void display(){cout<<"B::display()"<<endl;}	//虚成员函数
};

//void fun(A rA) //普通函数,参数为基类对象,此时虚函数没有起作用
void fun(A &rA) //普通函数,参数为基类对象的引用,此时虚函数起作用
{				
	rA.display();
}

void main()	//主函数
{
	A a; //声明A类对象
	B b; //声明B类对象

	fun(a);  //A::display()

	fun(b);  //B::display() 虚函数多态性

	return;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?