Generally, one who eats ice cream recites before eating the Beracha of "She’ha’kol Niheya Bi’dbaro." This is assuming one eats standard ice cream, without pieces of cookies or other "Mezonot" items in the ice cream. After eating, however, no Beracha Aharona is recited, because, practically speaking, it is not possible to eat the amount of ice cream requiring a Beracha Aharona within the time frame that is necessary for a Beracha Aharona to be required. Since ice cream is very cold, is it eaten very slowly, and it is therefore all but impossible to consume ice cream within the period that would be needed to require a Beracha Aharona. This is particularly so according to the opinion of Hacham Ovadia Yosef that ice cream has the status of a beverage, and one who drinks a beverage does not recite a Beracha Aharona unless he drinks a "Rebi’it" in the normal amount of time within which this amount of beverage is drunk.
There is some question concerning Hacham Ovadia’s view regarding the recitation of a Beracha over ice cream that is eaten as part of a meal. The Beracha of "Ha’mosi" recited over bread covers all foods and beverages that are served as part of the meal, and thus in Yalkut Yosef, Hacham Ovadia is said to have ruled that one who eats ice cream as part of a meal that include bread does not recite a Beracha. However, Hacham David Yosef, in Halacha Berura (Siman 177, p. 195; listen to audio recording for precise citation), testifies that his father did, in fact, recite a Beracha over ice cream eaten during a meal, because the ice cream is eaten as a sweet dessert, and not as an actual part of the meal. The exception was when Kiddush was recited at the beginning of the meal, in which case Hacham Ovadia would intend for the Beracha over the wine to cover all beverages consumed during the meal – including ice cream – and so he would not then recite a Beracha over ice cream.
Hacham David cites Hacham Shalom Cohen, Rosh Yeshiva of Porat Yosef, as concurring, and maintaining that one must recite "She’ha’kol" over ice cream even if it is eaten during a meal, as it is not covered by the Beracha of "Ha’mosi."
(Incidentally, it should be noted that Hacham Bension Abba Shaul distinguished between ice cream made from milk and other forms of ice cream, asserting that dairy ice cream has the status of a food, whereas other ice creams would be considered a beverage. Hacham Ovadia, however, did not accept this distinction.)
In practice, Rav Yisrael Bitan (contemporary), in the English edition of Yalkut Yosef, advises avoiding this question by reciting Birkat Ha’mazon before eating ice cream, such that one would certainly need to recite a Beracha over the ice cream according to all opinions. But if ice cream is eaten as part of a meal that includes bread, one recites a Beracha. The only exception, as mentioned, is when one introduced the meal with the Beracha of "Gefen" over wine (or with the Beracha of "She’ha’kol" over a different beverage).
Summary: If ice cream is eaten during a meal in which "Ha’mosi" is recited, it is preferable to recite Birkat Ha’mazon before eating the ice cream, so that a Beracha can be recited over the ice cream according to all opinions. But if one eats ice cream before Birkat Ha’mazon, then he recites a Beracha over the ice cream, unless the meal was introduced with the Beracha of "Gefen" over wine, which covers all beverages drunk during the meal, including ice cream (which is considered a beverage with respect to Halacha).