以下は、boolean isAdminに応じて新しいユーザーまたは新しい管理オブジェクトを作成するためのコードです。ユーザオブジェクトは、ベースオブジェクトであり、これから管理者が派生しています。私はユーザの機能を持っているように、ユーザuser->adminClasshere
になりたいと思っています。私はそれをどのように変更するか分からないので、ユーザー=新しい管理者はユーザーではなく管理者を作成します。基本クラスを使用して派生クラスを呼び出す
User *user;
if (isAdmin)
{
user = new Admin();
}
else
{
user = new User(userLib); //call constructor
}
//User User;
user->loadLibrary();
user->displayLibrary();
'new Admin'はすでに管理者を作成しています。多分あなたは仮想関数を読む必要がありますが、あなたが直面している正確な問題を知ることなく確実に伝えるのは難しいでしょう。 –
raw newとdeleteを使用しないでください。std :: unique_ptrについて読むこと –
「user-> adminClasshere」とは何かを明確にしてください。パブリックデータメンバーにアクセスしますか?またはこれはメンバー関数ですか? –