はい、私は多くのチュートリアルと質問を読み、多くの組み合わせも試しましたが、うまくいかないようです. 私の目標は、動的割り当てを使用しないことです。
私のクラスは次のようになります。
Pages
Page
PMain:Page
PCam:Page
これを行うときのメインで:
1. メイン:
Page * page;
PCam main;
main.setContext(context);
page = &main;
page->echo();
結果:PCam
しかし、外部クラス内にインスタンスを作成してページに向けようとすると失敗します。
2.
ページ クラス:
Pages::Pages(Page*& page, Context& context){
this->context = &context;
PMain main;
main.setContext(*this->context);
main.echo();
// page = &main; <---
}
主要:
Page * page;
Pages pages(page, context);
page->echo();
結果: ページ
期待される結果: PCam
私のクラス:
ページ:
void Page::setContext(Context & context)
{
this->context = &context;
}
void Page::echo() //virtual
{
std::cout << "echo Page" << std::endl;
}
Pメイン:
void PMain::echo(){
std::cout << "echo PMain" << std::endl;}
}
PC カメラ:
void PCam::echo(){
std::cout << "echo PCam" << std::endl;}
}
どんな助けでも大歓迎です。ありがとう。