当前位置 : 主页 > 编程语言 > c语言 >

C++虚函数

来源:互联网 收集:自由互联 发布时间:2023-09-07
形式:virtual 函数类型 函数名 ()(在派生类和基类里都要写) 静态成员函数不能是虚函数 1.通过指针实现多态 对于基类的对象:调用基类的虚函数 对于派生类的对象:调用派生类的

形式:virtual 函数类型 函数名 ()(在派生类和基类里都要写)

静态成员函数不能是虚函数

1.通过指针实现多态

对于基类的对象:调用基类的虚函数

对于派生类的对象:调用派生类的虚函数

#include <iostream>
using namespace std;

class A
{	public:
		virtual void Print()
		{	cout << "print A" << endl;
		}
};

class B: public  A
{	public:
		virtual void Print()
		{	cout << "print B" << endl;
		}
};

class C: public A
{	public:
		virtual void Print()
		{	cout << "print C" << endl;
		}
};

int main()
{	A a1;
	A a2;
	B b;
	C c;
	A *pa1 = &a1;
	A *pa2 = &a2;
	C *pc = &c;
	pa1->Print();
	pa1 = &b;
	pa1->Print();
	pa2 = pc;
	pa2->Print();
	return 0;
}

C++虚函数_虚函数

2.通过基类的引用实现多态

#include <iostream>
using namespace std;

class A
{	public:
		virtual void Print()
		{	cout << "print A" << endl;
		}
};

class B: public  A
{	public:
		virtual void Print()
		{	cout << "print B" << endl;
		}
};

void in(A &r)//基类的引用
{	r.Print();//是谁的对象就调用谁的Print
}

int main()
{	A a;
	B b;
	in(a);
	in(b);
	return 0;
}

C++虚函数_派生类_02

上一篇:SDL_AudioSpec 解析以及使用说明
下一篇:没有了
网友评论