// ここ の部分は、規定クラスのコンストラクタだけを
使いたいのですが、こうやって空関数を作らないと、コンパイルが通りません。
何か、空関数を使わないで、コンパイルを通す方法無いでしょうか?(VC6)
class CAa
{
public:
 CAa() {printf("bone aa\n"); }
 CAa(string s) {printf("bone(%s)\n", s); }
 virtual void print() = 0;
};
class CMona : public CAa
{
 void print() { printf("mona\n"); }
public:
 CMona(string s) {}   // ここ
};
class CGiko : public CAa
{
 void print() { printf("giko\n"); }
public:
 CGiko(string s) {}    // ここ
};
void main()
{
 string s = "hage";
 CMona mona(s);
 CGiko giko(s);
 CAa* pAa;
 pAa = &mona;
 pAa->print();
}