Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。個の銅バッジ皆さんありがとうございます。票1前提条件があるので、いつでも使えるというわけではありませんが、動的な配列はC++では、std::vectorが第一候補です。|3newは次の2つの役割を持っています。メモリ確保を行うコンストラクターを呼び出す(非配列版)引数を指定できる(配列版)引数を指定できず、デフォルトコンストラクターが呼ばれるこの質問では、配列版においてデフォルトコンストラクター以外を呼び出したい、とのことですが、とりあえずは実現できません。newの機能を分割して、それぞれを呼び出せば実現可能です。deleteで解放できます。new(配置new)は指定されたアドレス上でコンストラクターを実行します。delete(bcRec);STLはこれを支援する関数を提供しています。n);とはいえ、上記コードは煩雑であり、要素数を誤ると簡単に不正な処理を行ってしまうため非常に危険です。STLに用意されているstd::vectorで動的に確保することをお勧めします。reserve()で事前にメモリ確保しておくことで、要素数増減に伴うメモリ確保のオーバーヘッドを削減することができます。やってもBaseClassの配列はできますがintの配列にはなりません。_aはあくまでも1個のintですので、これを動的配列にする必要があります。C++での動的配列は、一般的にはvectorを使います。<vector>が必要です。BaseClassのコンストラクタを次のようにします。_a(a);と書きたいところですが、BaseClassで自身のメンバ変数を初期化するための記述方法は上記のようになります。メンバ変数の初期化の文法についてはC++の参考書で勉強してください。メンバ関数setintは次のようになります。a;}メンバ関数fooint(getint?)は次のようになります。_a[i];}_aはvectorですので、[]で読み書きできます。vectorの使い方は参考書で勉強してください。配列のインデックス値をメンバ関数の第一引数で渡している点を理解してください。ここまでできれば、main関数をどう書き変えればいいかは想像できると思います。*bcRec;は不要なので削除しましょう。あとはご自身で考えてみてください。以下、改良のための余談。個数を意味する変数名はaよりn(number)の方が相応しいです。同様に、値を意味する変数名はaよりv(value)などがいいでしょう。配列に何を格納するかによって、valueよりもっと適した意味を持つ単語を使うと良いです。fooint(getint)は読み取るだけで書き込みはしませんのでconstをつけるのが理想です。はじめのうちは無くてもいいでしょうが、今後、実用的なプログラムを作るのであればconstのテクニックはほぼ必須ですので、参考書で勉強してください。array(5);などと書いてやってみるのも理解の助けになると思います。クラスメンバの変数を配列にしたいのか(上記の書き方)、オブジェクト(クラスのインスタンス)を配列にしたいのかで書き方が変わります。したい、かつ各要素を「デフォルトでない値」で均一にコンストラクトしたい(代入でなく)とオイラはこの質問を読んだっす。できるような構文が用意されていません。型の1つのオブジェクト(変数)を作る場合には初期値式並びが指定できます。オブジェクトの配列を作る場合は言語仕様書に記載がありません。できないということです。レース車両のレギュレーションブックは「認められると書かれてる変更はして良い」「認められると書かれていない項目は変更してはならない」と読む約束で、この場合も同様と考えます。修正が入っていてhttps://ja.cppreference.com/w/cpp/language/new集成体初期化ができるようになっています。https://ja.cppreference.com/w/cpp/language/aggregate_initializationが、この件については集成体初期化ではおそらく望みを達成することができません。集成体とは「値が複数個含まれるものすべて」つまり配列も集成体ですし、クラスも集成体です。x[64]={0};}これはよくある「自動変数配列のゼロ初期化」ですが、ここに集成体初期化が使われていて、コンパイラは次のように読む仕様です。以後はデフォルトコンストラクトされるという挙動になります。書けるわけですが、この例では可変個数なので無理っす。おいてこの辺の仕様変更は今後もまず無いと考えていいでしょう。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。2015でcppがどのヘッダーを見ているか確認・変更する方法はありますか3std::cerr,std::clogの違いについて1原因のわからないコンパイラエラーメッセージ0c++,explicitの使い道について知りたい0代入,コピーコンストラクタの挙動が分からない部分の挙動が知りたい。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。