C++通过基类的函数调用子类的私有的函数


#include <iostream>

class Ca {
public:
	virtual void print() {
		std::cout << "Ca::print" <<std::endl;
	}

	void print2() { print(); }
		
};

class Cb :public Ca {

private:
	void print() {
		std::cout << "Cb::print" << std::endl;
	}

};

//virtual 即使是private修饰符,依然可以通过基类的函数调用
int main()
{
	Ca *p = new Cb;
	p->print2();
	
	std::cout << "Hello World!\n";
}
输出
Cb::print
Hello World!

利用动态绑定,即使是私有函数也可以通过基类的指针和引用调用


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM