Quote Originally Posted by SlyMaelstrom
Use CODE tags, please. You usually don't get asked nicely, twice.

You're defining your class under a namespace, yet you never appear to qualify the identifier with that namespace when you instantiate an object from it
Code:
PublicFirm::PublicFirm publicagent;
On that note, you should never use the same identifier for a class and a namespace. Consider renaming the namespace to PbFi or something.
Advice taken. That does seem to be at least part of the problem (that I did not use the namespace qualifier). The error message has changed at least

I tried Public as the namespace, then realized that might be reserved, so I am using PublicF. After changing it in all the files, I get a new error.

Now, g++ says "undefined reference to PublicF::PublicFirm::PublicFirm()"

At least I am making progress