
C++であるクラス継承したクラスの代入演算子で
継承元のクラスの代入演算子を呼び出す方法がわかりません。
こんな感じのソースです。
class T {
T& operator=(const T &t) {
}
}
class U :: T{
U& operator=(const U &u) {
// ここでT.operator=()の代入演算を実行したい
}
}
((T)(*this)).operator=((T)(u))のようにキャストすればいけるかと思ったんですが、
コンパイルエラーでした。
よろしくお願いします。
また、これはプログラム上好ましくない手法でしたら、
別な実現方法をお教えください。
No.4
- 回答日時:
たまたま見てしまったので・・・
#2さんの
>return T::operator=(u);
アップキャストは自動的に行われるから、この場合の引数にはキャストは不要で、T&をreturnするにはダウンキャスト無しには無理だから、戻り値は捨てた方が良さそうです。
T::operator=(u);
//のこりの処理
return *this;
No.1
- 回答日時:
なんか不自然ですが。
・継承の記述
クラスParentからクラスChildに継承する場合、はじめのクラスの宣言で
class Child : public Parent
{//うんぬん
}
の様に、セミコロンひとつで区切ります。
・publicなどの未記入
具体的な動作はコンパイラごとに異なりますが、public, protected, privateの記入をしなかった場合、多くのコンパイラはprivateで宣言されたものとして扱います。private宣言されたものは継承できませんので、publicまたはprotectedを記入してください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
イベントにAddHandlerされてい...
-
privateなメンバ関数をテストす...
-
FriendとPublicの違い。。。
-
プロトタイプなのにexternを使...
-
デスクトップへコピー時に処理...
-
【MFC】ユーザインタフェースス...
-
C++で継承元のクラスの代入演算...
-
DataGridViewのセルに斜線を引...
-
MFCのドラッグ&ドロップについて
-
デストラクタ
-
関数重複の問題
-
VBのシステムの設計書にUMLは適...
-
(UWSC) 「#32770」の意味わかり...
-
DLLからEXEのクラスを呼び出す...
-
ダイアログ表示時にチェックボ...
-
個々の関数について継承してい...
-
条件によって別のクラスのイン...
-
UMLでの「オブジェクト」と「イ...
-
C# using の有効範囲
-
VB.NETで、DLLを頂いたんですが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
既定のコンストラクタがない?
-
FriendとPublicの違い。。。
-
(UWSC) 「#32770」の意味わかり...
-
ダイアログ表示時にチェックボ...
-
イベントにAddHandlerされてい...
-
エディットコントロールでEnter...
-
オーバーライド関数の呼び出し...
-
このコンパイルエラーの意味に...
-
【ASP.NET】 独自で作成したク...
-
MFC モードレスDlgについて
-
[MFC] CWnd::MessageBoxの警告...
-
ボタンのオーナードローについて
-
MessageBoxを継承したい
-
ダイアログクラスのコントロー...
-
vba sendKeysを送る相手のソフ...
-
エディットコントロールのイベ...
-
Delphi6 DLL内でのメモリ共有(?)
-
個々の関数について継承してい...
-
privateなメンバ関数をテストす...
-
WindowsAPIのリストビューの...
おすすめ情報