From my knowledge, I would use the vertical line test instead of the horizontal line test. The vertical line test checks if something is a function, and the horizontal line test checks if an inverse function exists. (Correct me if I'm wrong, I haven't used this in a while.)
If I use the vertical line test:
A would fail because it intersects the vertical line more than once.
B would fail because the ellipse would intersect the vertical line more than once.
I can't see C too clearly, but from what I can make out of it, it doesn't pass the vertical line test because there are 2(?) lines and it intersects the vertical line more than once.
D passes the vertical line test because the parabola only intersects the vertical line at one point.
Hope I helped :)