基底クラスclass1と派生クラスclass2でnewを使って同じサイズの2次元配列pとqを作ったのですが、メモリ内の同じ場所を参照してるみたいで、class2の配列qで配列の中身を書き換えたら、class1の配列pの中身も書き換えられているんですが、対処法があれば教えてください。
class class1{
protected:
int** p;
public:
class1(int n)
{
int i;
*p=new int[n];
for(i=0;i<n;i++){
p[i]=new int[2];
}
}
:
:
};
class class2 : public class1{
int** q;
public:
class2(int n)
{
int i;
*q=new int[n];
for(i=0;i<n;i++){
q[i]=new int[2];
}
}
:
:
};
No.2ベストアンサー
- 回答日時:
こうだと思う。
class CClassA
{
protected:
int** p;
int _nCntA;
public:
CClassA( int n ) {
_nCntA = n;
p = new int*[ n ]; // ポインタ配列を確保
for( int ii = 0; ii < n; ii++ ){
p[ ii ] = new int[ _nCntA ];
}
}
// デストラクタは省略
};
class CClassB : public CClassA
{
protected:
int** q;
public:
CClassB( int n ) : CClassA( n ) {
q = new int*[ n ]; // ポインタ配列を確保
for( int ii = 0; ii < n; ii++ ){
q[ ii ] = new int[ 2 ];
}
}
// デストラクタは省略
};
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- C言語・C++・C# c言語でユーザ関数を利用して入力された文字列を反転させるプログラムを作りたいです。 3 2023/01/29 19:47
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Visual Basic(VBA) エクセルVBAで教えて頂きたいのですが? 2 2022/12/31 20:28
- C言語・C++・C# C言語で再起関数とポインタを用いて文字列反転をする方法がわかりません。 4 2023/04/29 20:32
- C言語・C++・C# クラスのメンバ変数を基準に並べ替えをしたい 5 2022/12/25 17:40
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- Java Java 配列<選挙> 4 2023/07/31 15:07
- 英語 節を列挙する例示表現について 2 2022/08/15 13:52
- Java Java・配列の問題です。 int 「」nums = new int「5」 ⤴︎ この5の事を言葉で 2 2023/06/21 22:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
応用情報技術者試験の令和元年...
-
インクリメント演算子のみを用...
-
Windows formアプリで データグ...
-
右ビットシフト
-
Linux Cプログラミングを学ぶた...
-
プログラミングについて。 1つ...
-
ArduinoのジャイロモジュールMP...
-
c言語
-
これなにがちがうんですか??
-
Int('1234') で、strをかんたん...
-
C言語 配列と関数の練習問題
-
質問失礼します。 プログラム言...
-
C言語の関数と配列に関する質問
-
どなたかこのプログラミングを...
-
VisualStudio2022でC言語プログ...
-
C言語をコンパイルするとコンピ...
-
どちのほうがすきですか?
-
Notepad++の関数リスト表示の変...
-
WindowsのCapsLock(キャップス...
-
double型が正常に認識されてい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語 配列と関数の練習問題
-
システムエンジニアの適正について
-
[C言語]fputsとfprintfの違い
-
C言語をコンパイルするとコンピ...
-
mallocについて
-
どちのほうがすきですか?
-
ArduinoのジャイロモジュールMP...
-
大量のデータを読み込んで表示...
-
gccを行ってもexeファイルが生...
-
VisualStudio2022でC言語プログ...
-
C言語 列挙型(enum型)変数について
-
こんなことてしますか??
-
C言語の関数と配列に関する質問
-
Linuxでの開発環境構築や設定の...
-
質問失礼します。 プログラム言...
-
MACで動く実行ファイルをWindow...
-
WindowsのCapsLock(キャップス...
-
これなにがちがうんですか??
-
卒業研究でよく分からないとこ...
-
gcc13.2のバグ?
おすすめ情報