如果是a.mm 调用b.cpp 可以直接调用。
项目中碰到需要定义Virtual
C++ Virtual详解
Virtual是C++ OO机制中很重要的一个关键字。只要是学过C++的人都知道在类Base中加了Virtual关键字的函数就是虚拟函数(例如函数print),于是在Base的派生类Derived中就可以通过重写虚拟函数来实现对基类虚拟函数的覆盖。当基类Base的指针point指向派生类Derived的对象时,对point的print函数的调用实际上是调用了Derived的print函数而不是Base的print函数。这是面向对象中的多态性的体现。
这样,可以在派生类中用方法覆盖Base类定义的虚函数,
另外,构造函数中有回调函数,回调函数的实现可以这样
RTMPSession(std::string uri, RTMPSessionStateCallback callback); //构造函数原型
//实现回调函数的方法
m_outputSession.reset(
new videocore::RTMPSession ( uri.str(),
[=](videocore::RTMPSession& session,
ClientState_t state) {
switch (state):
....
}));
特别注意的是: [=](videocore::RTMPSession& session 这种方式是一种匿名函数的写法,用以实现callback。