クラスの宣言に代入演算子

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
うな
記事: 2
登録日時: 9年前

クラスの宣言に代入演算子

#1

投稿記事 by うな » 9年前

はじめまして、初めて質問いたします。
どのような検索ワードで検索すればよいのか検討がつかずに、
お知恵を拝借したいと思いここにたどり着きました。

C++ Builder 2009 を使用しています。

ヘルプ中のトピック
E2251 基本クラス 'class' を初期化するデフォルトコンストラクタが見つからない
のソースにおけるクラスの宣言と思われる部分に関する表記で

コード:

class Base {
public:
 Base(int) {}
};
class Derived = public Base {
 Derived():Base(1) {}
}
// 明示的に Base コンストラクタを呼び出すか,
// Base のデフォルトコンストラクタを提供する必要があります
というものがありました。

この

コード:

class Derived = public Base {
 Derived():Base(1) {}
}
という表記の方法が何を意味するかよくわかりません。Base クラスを何らかの形で
継承しているようにみえるのですが、これはどのような意味を表すのでしょうか?
この表記の方法に関して説明されているページなどありましたらご教示ください。

よろしくお願い致します。

inemaru
記事: 108
登録日時: 9年前

Re: クラスの宣言に代入演算子

#2

投稿記事 by inemaru » 9年前

少なくとも、上記のコードはC++の標準構文でないので
VC++(VS2013)とclang3.6ではコンパイルできません。

パッと見、ヘルプの誤植だと思うので、

コード:

class Derived : public Base {
 Derived():Base(1) {}
}
と書いて継承を表現したかっただけだと思われます。

うな
記事: 2
登録日時: 9年前

Re: クラスの宣言に代入演算子

#3

投稿記事 by うな » 9年前

なるほど。
もしかしたらこういう関数ポインタみたいな事ができるのかなと
いろいろ勘ぐってしまっていたのですが、誤植の可能性が高そうですね。

ありがとうございます。

閉鎖

“C言語何でも質問掲示板” へ戻る