成る程、そういうことでしたか。
確かに仰る通りですね。誤った理解のままで終わるところでした…σ(^_^;)
長くなってしまいましたが、親切に回答してくださってありがとうございました。
今後も何卒宜しくお願いします。
ということで解決と致しますね。
検索結果 9 件
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: 【C++】ある変数・関数を複数のクラスで共用する方法
- 返信数: 6
- 閲覧数: 5142
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: 【C++】ある変数・関数を複数のクラスで共用する方法
- 返信数: 6
- 閲覧数: 5142
Re: 【C++】ある変数・関数を複数のクラスで共用する方法
成る程、共用するクラスオブジェクトを引き数に取れば良かったのですね。
ありがとうございます。
では、理解を確実なものとするため重ねて質問させていただきますが、
1) スマートポインタを用いる理由(共有するクラスの型を用いるのはダメなのか)
2) 何故仮想継承ではいけないのか(仮想継承もポインタを共有出来る仕様だと思うので)
についても教えていただければ幸いです。
ありがとうございます。
では、理解を確実なものとするため重ねて質問させていただきますが、
1) スマートポインタを用いる理由(共有するクラスの型を用いるのはダメなのか)
2) 何故仮想継承ではいけないのか(仮想継承もポインタを共有出来る仕様だと思うので)
についても教えていただければ幸いです。
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: 【C++】ある変数・関数を複数のクラスで共用する方法
- 返信数: 6
- 閲覧数: 5142
Re: 【C++】ある変数・関数を複数のクラスで共用する方法
集約…?
つまり、共用したい変数・関数を静的メンバとして持ったクラスオブジェクトを持つということですか?
イマイチイメージが摑めなくてすみません…
つまり、共用したい変数・関数を静的メンバとして持ったクラスオブジェクトを持つということですか?
イマイチイメージが摑めなくてすみません…
- 9年前
- フォーラム: C言語何でも質問掲示板
- トピック: 【C++】ある変数・関数を複数のクラスで共用する方法
- 返信数: 6
- 閲覧数: 5142
【C++】ある変数・関数を複数のクラスで共用する方法
C++において、ある変数・関数を複数のクラスで共用するために、クラスにまとめて仮想継承しようと考えたのですが、他により良い方法・より相応しい設計はありますか? // --- Base.h --- // #ifndef ___Class_Base #define ___Class_Base class Base { /* -- 省略 -- */ }; #endif // --- DerivedA.h --- // #ifndef ___Class_DerivedA #define ___Class_DerivedA #include "Base.h" class DerivedA : virtu...
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: 識別子の同じ純粋仮想関数で引数を取るものと取らないものがあった時2種類ともオーバーライドしなければならないか?
- 返信数: 2
- 閲覧数: 4683
Re: 識別子の同じ純粋仮想関数で引数を取るものと取らないものがあった時2種類ともオーバーライドしなければならないか?
返信遅れました。
成る程...やはりオーバーライドしなければならないと...
お、ご教示頂いたテクニックは面白いですね。
ただ無理にこう組むくらいなら普通に引数を取る関数を宣言すれば良いと思ったので、
つまり自分のプログラムでも初めからそうすればよかったってことですね...
YuOさん、回答ありがとうございました。勉強になりましたm(__)m
成る程...やはりオーバーライドしなければならないと...
お、ご教示頂いたテクニックは面白いですね。
ただ無理にこう組むくらいなら普通に引数を取る関数を宣言すれば良いと思ったので、
つまり自分のプログラムでも初めからそうすればよかったってことですね...
YuOさん、回答ありがとうございました。勉強になりましたm(__)m
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: 識別子の同じ純粋仮想関数で引数を取るものと取らないものがあった時2種類ともオーバーライドしなければならないか?
- 返信数: 2
- 閲覧数: 4683
識別子の同じ純粋仮想関数で引数を取るものと取らないものがあった時2種類ともオーバーライドしなければならないか?
以前クラスに関する質問をした時はお世話になりました。 今回もクラスに関する質問をさせていただきます。 virtual int func() = 0; virtual int func(int p) = 0; 上のように識別子の同じ二つの純粋仮想関数を定義し、ある派生クラスでは引数を取らない方を、別の派生クラスでは引数を取る方を使いたいと考えているのですが、この場合2種類ともオーバーライドしなければなりませんよね? 言語:C++ 開発環境:Microsoft Visual Studio 2013 [hr] 皆さんテロップはこんな感じに水平線で区切って挿入しているのでしょうか? それともランクアッ...
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: 別ファイルのメンバ・オブジェクトの利用に関して
- 返信数: 4
- 閲覧数: 2454
Re: 別ファイルのメンバ・オブジェクトの利用に関して
おお、出来ました!
確かに別のオブジェクトを生成しては何も解決しないし、またデータメンバを引数にとる必要もありませんでしたね。
そういう初歩的なミスを犯してしまったのはやはりプログラミングの経験が少ないからだと痛感しました...
usaoさん、YuOさん、ご教授頂きありがとうございました。
確かに別のオブジェクトを生成しては何も解決しないし、またデータメンバを引数にとる必要もありませんでしたね。
そういう初歩的なミスを犯してしまったのはやはりプログラミングの経験が少ないからだと痛感しました...
usaoさん、YuOさん、ご教授頂きありがとうございました。
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: 別ファイルのメンバ・オブジェクトの利用に関して
- 返信数: 4
- 閲覧数: 2454
Re: 別ファイルのメンバ・オブジェクトの利用に関して
クラスExBにおいて必ずしもobjAの値を使わなければならなかったわけではないので、
ExB.cpp内で新たにExA型のオブジェクトを宣言して利用することで当面は凌げそうです。
クラスExB内でクラスExA内のメンバ関数を使いたかったらやはりそうするしかないですか?
ExB.cpp内で新たにExA型のオブジェクトを宣言して利用することで当面は凌げそうです。
クラスExB内でクラスExA内のメンバ関数を使いたかったらやはりそうするしかないですか?
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: 別ファイルのメンバ・オブジェクトの利用に関して
- 返信数: 4
- 閲覧数: 2454
別ファイルのメンバ・オブジェクトの利用に関して
まず何をしたいのか書きます。 1)あるファイル(ExA.cpp)でクラスExAを定義する。(クラスExAはデータメンバint dataA、メンバ関数void funcA(int data)を持つ) 2)それとは別のファイル(main.cpp)でExA型のオブジェクトobjAを宣言する。 3)更に別のファイル(ExB.cpp)でクラスExBを定義する。 4)クラスExBのメンバ関数void funcB()内でobjA.funcA(objA.dataA)を使用する。 *クラスの宣言はそれらとは別のファイル(ExClass.h)で行われている。 *クラスExAのデータメンバint dataAはコンス...