extend from cc.sprite or write a c++ class inherited from CC::Sprite?

I wanna create a new class which inherited from CC::Sprite, also I need to override a method called setDisplayFrame:

original:

void CCSprite::setDisplayFrame(CCSpriteFrame *pNewFrame)
{
    m_obUnflippedOffsetPositionFromCenter = pNewFrame->getOffset();
    CCTexture2D *pNewTexture = pNewFrame->getTexture();
    // update texture before updating texture rect
    if (pNewTexture != m_pobTexture)
    {
        setTexture(pNewTexture);
    }
    // update rect
    m_bRectRotated = pNewFrame->isRotated();
    setTextureRect(pNewFrame->getRect(), m_bRectRotated, pNewFrame->getOriginalSize());
}

after changed:

void CCSprite::setDisplayFrame(CCSpriteFrame *pNewFrame)
{
    m_obUnflippedOffsetPositionFromCenter = pNewFrame->getOffset();

    CCTexture2D *pNewTexture = pNewFrame->getTexture();
    // update texture before updating texture rect
    if (pNewTexture != m_pobTexture)
    {
        setTexture(pNewTexture);
    }

    // update rect
    m_bRectRotated = pNewFrame->isRotated();
    setTextureRect(pNewFrame->getRect(), m_bRectRotated, pNewFrame->getOriginalSize());
    this->setPosition(pNewFrame->getOriginalSize().width+pNewFrame->getOffset().x, pNewFrame->getOriginalSize().height+pNewFrame->getOffset().y);
}

@

What shall I do, create a new C++ class inherited from CC::Sprite then bind to JS, or can I create a js class to inherited from cc.sprite?