Cream butter; gradually add sugar, beating well. Add egg yolks, one at a time, beating well after each addition.
Combine flour, baking powder, and salt; add to creamed mixture alternately with milk, beginning and ending with flour mixture. Mix well after each addition. Stir in flavoring.
Beat egg whites (at room temperature) until stiff peaks form; fold into batter.
Spoon batter into 2 greased and floured 8-inch square pans. Bake at 350° for 45 minutes or until cake tests done. Cool in pans 10 minutes; remove layers from pans, and let cool completely. Spread frosting between layers and on top and sides of cake.