Using ccTouchBegan and ccTouchesEnded at the same time

Can I use ccTouchBegan and ccTouchesEnded at the same time?
When I’m trying to add actions in ccTouchBegan, I recognize that ccTouchesEnded isn’t called. Can anyone explain for me how to use touch events?

Some of my code

bool GameplayScene::ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent){       
	CCActionInterval*  actionBy = CCRotateBy::create(1, 180);
	weapon->runAction(CCSequence::create(actionBy, NULL, NULL));
	
	location = pTouch->getLocation();
	shootBullet();
	this->schedule(schedule_selector(GameplayScene::shootBullet), 1.0);		
        return true;
}

void GameplayScene::ccTouchesEnded(cocos2d::CCSet* touches, cocos2d::CCEvent* event){
	this->unschedule(schedule_selector(GameplayScene::shootBullet));		
}

void GameplayScene::registerWithTouchDispatcher(void) {
    CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this, INT_MIN + 1, true);
}

Anyone help???