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