610.cpp

来自「C++实训教程」· C++ 代码 · 共 40 行

CPP
40
字号
//610.CPP   demo virtual function
#include <iostream.h>
class B
{
 public:
	 virtual void dispWhere ()
	 {cout << "Here is a base class object" << endl;}
};
class D : public B
{
 public:
	 virtual void dispWhere (char* c)
	 {
		cout << "Here is subclass object: "
		 << c << endl;
	 }
		//Here is Warning:'D::dispWhere (char* c)'
		//hides virtual function 'B::dispWhere ()'
};

void fn (B& obj)
{
	 obj.dispWhere();
	//	obj.dispWhere("Relative object");
	//	compile error #1
}

void main()
{
	 D objD;
	 //objD.dispWhere();
	 //Compile error #2
	 objD.dispWhere("aSubClass\n");
	 fn(objD);
}
/*上面程序运行的结果如下: 
Here is subclass object: aSubClass

Here is a base class object
*/

⌨️ 快捷键说明

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