How to use custom stylesheet only for a template in child theme

Try this:

add_action( 'wp_enqueue_scripts', 'my_custom_styles_function', 100 );

function my_custom_styles_function(){
  if (is_page_template('test-template.php')) {
    wp_enqueue_style( 'my-custom-css', get_stylesheet_directory_uri() . '/custom-style.css' );
  }
}

wp_enqueue_scripts hook is used for including new stylesheet. Here template is test-template.php. Change it with your template. Stylesheet will only be included in your page template.