如果是a.mm 調(diào)用b.cpp 可以直接調(diào)用。
項目中碰到需要定義Virtual
C++ Virtual詳解
Virtual是C++ OO機制中很重要的一個關(guān)鍵字。只要是學過C++的人都知道在類Base中加了Virtual關(guān)鍵字的函數(shù)就是虛擬函數(shù)(例如函數(shù)print),于是在Base的派生類Derived中就可以通過重寫虛擬函數(shù)來實現(xiàn)對基類虛擬函數(shù)的覆蓋而叼。當基類Base的指針point指向派生類Derived的對象時腐巢,對point的print函數(shù)的調(diào)用實際上是調(diào)用了Derived的print函數(shù)而不是Base的print函數(shù)结借。這是面向?qū)ο笾械亩鄳B(tài)性的體現(xiàn)。
這樣衅胀,可以在派生類中用方法覆蓋Base類定義的虛函數(shù),
另外酥筝,構(gòu)造函數(shù)中有回調(diào)函數(shù)滚躯,回調(diào)函數(shù)的實現(xiàn)可以這樣
RTMPSession(std::string uri, RTMPSessionStateCallback callback); //構(gòu)造函數(shù)原型
//實現(xiàn)回調(diào)函數(shù)的方法
m_outputSession.reset(
new videocore::RTMPSession ( uri.str(),
[=](videocore::RTMPSession& session,
ClientState_t state) {
switch (state):
....
}));
特別注意的是: [=](videocore::RTMPSession& session 這種方式是一種匿名函數(shù)的寫法,用以實現(xiàn)callback嘿歌。