⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 demo_2_review_valuate_compatible_rule_1.cpp

📁 对于一个初涉VC++的人来书
💻 CPP
字号:

//***************************************************
// 赋值兼容规则-隐式类型转换
//***************************************************

#include <iostream.h>

class A //基类A声明
{
public:
	void display(){cout<<"A::display()"<<endl;}	
};

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

void fun(A *ptr) //普通函数,参数为指向基类A对象的指针
{				
	ptr->display();	//"对象指针->成员名"
}

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

	A *pA; //声明A类指针

	pA=&a; //A类指针指向A类对象
	fun(pA);

	pA=&b; //A类指针指向B类对象,赋值兼容
	fun(pA); 
	fun((B *)pA); //显式强制类型转换,
	             //但参数传递时赋值兼容隐式类型转换为基类指针

	fun(&b); //参数传递时,赋值兼容

	B *pB=&b;
	fun(pB); //参数传递时,赋值兼容

	return;  //全部执行结构都是:A::display()
}

⌨️ 快捷键说明

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