kernel set signs. For examples dog.
Image1 = dog
Image2 = ball

image1->convolution2dForward->pooling->convolution2dForward->pooling
pooling increased signs

image2->convolution2dForward->pooling->convolution2dForward->pooling

get float a = image1 summ all values ;dog more big value, because more kernel signs!
get float b = image2 summ all values ;ball less value,because less kernel signs!
float2 array = a,b

softMax(array); return who is dog in percents from 0.2 to 0.999

Dense (fully connected) layers in CNNs typically appear after convolutional/pooling layers.
How training dense layer ?