A plant that is heterozygous for two pairs of genes has two copies of each gene (two copies of A and two copies of B), but a haploid, by definition, only has one copy of each gene... o.O Therefore, it definitely wouldn't have any of C or D.
But if your question was about self-pollination, in which the AaBb plant will mate with itself and produce an offspring from two AaBb gametes, then that's an entirely different thing. ^^
To do this problem, you're going to have to figure out which alleles the gametes can possible have. In this case, both gametes are from the same plant and clearly are the same. In other cases, you'd have to determine stuff from two different sources, but here the work you do to find out what the first one produces will just be recycled...
So, what gametes can AaBb produce? Since A and B are independent variables, the chances they'll be inhereited at any given point are equal -
X B b
A AB Ab
a aB ab
The Punnett square above shows the gametes that can be produced by our doubly heterozygous plant. ^^;
Now, then, since we have the gametes that each plant can produce (since it's mating with itself, the gametes will clearly be the same), we can create another Punnett square to show what happens when the gametes randomly combine.
X AB Ab aB ab
AB AABB AABb AaBB AaBb
Ab AABb AAbb AaBb Aabb
aB AaBB AaBb aaBB aaBb
ab AaBb Aabb aaBb aabb
<3 <3 Punnett squares <3 <3
From here, you can just count to get to each of your answers...
a. 12 will carry a dominant A allele.
b. 9 will carry both a recessive a and a recessive b
c. 1 will be doubly homozygous recessive (aabb)
d. 4 will be doubly heterozygous (AaBb)
Hope that helps! ^^
Edit: ... unfortunately, I can't draw the Punnett squares properly on here... ;_; and they were so purdy too...