私はこのコードを試してみましたが、私はC++に新しいですし、学ぼうと、このコンパイルエラーC++、子クラスオブジェクトを親クラスタイプにキャストするか、逆も可能です。
class A{
};
class B : public A{
};
int main()
{
A a = new B(); // ERROR: "No suitable constructor exists to convert from "B*" to "A".
B b = new A(); // ERROR: "No suitable constructor exists to convert from "A*" to "B".
}
を得ます。誰かが私にこれを理解するのを助けることができるか?
' *のA =新しいB():
は第二に、あなたは明示的にダウンキャストすなわちを行う必要があります。逆の方法は不可能です。 –
あなたは[オンラインコンパイラ](http://coliru.stacked-crooked.com/)を使ってコンパイルするものをテストすることができます – sp2danny
@πάνταῥεῖ:ありがとう。私は何が欠けていたかを理解する。 A * a = new B();働いた。 – HimNG