class H264AVCENCODERLIB_API EncoderConfigLineBase
{
protected:
EncoderConfigLineBase(const Char* pcTag, UInt uiType ) : m_cTag( pcTag ), m_uiType( uiType ) {}
EncoderConfigLineBase() {}
public:
virtual ~EncoderConfigLineBase() {}
std::string& getTag () { return m_cTag; }
virtual Void setVar ( std::string& rcValue ) = 0;
protected:
std::string m_cTag;
UInt m_uiType;
};
class EncoderConfigLineStr : public h264::EncoderConfigLineBase
{
public:
EncoderConfigLineStr( const Char* pcTag, std::string* pcPar, const Char* pcDefault ) : EncoderConfigLineBase( pcTag, 1 ), m_pcPar( pcPar )
{
*m_pcPar = pcDefault;
};
Void setVar( std::string& pvValue )
{
*m_pcPar = pvValue;
};
protected:
std::string* m_pcPar;
};
转载于:http://fengqing888.blog.163.com/blog/static/3301141620100623933512/
1.冒号(:)用法
(1)表示机构内位域的定义(即该变量占几个bit空间)
typedef struct _XXX{
unsigned char a:4;
unsigned char c;
} ; XXX
(2)构造函数后面的冒号起分割作用,是类给成员变量赋值的方法,初始化列表,更适用于成员变量的常量const型。
struct _XXX{
_XXX() : y(0xc0) {}
};
(3) public:和private:后面的冒号,表示后面定义的所有成员都是公有或私有的,直到下一个"public:”或"private:”出现为止。"private:"为默认处理。
(4)类名冒号后面的是用来定义类的继承。
class 派生类名 : 继承方式 基类名
{
派生类的成员
};
继承方式:public、private和protected,默认处理是public。