C/C++のコードでわからないことが・・・

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

C/C++のコードでわからないことが・・・

#1

投稿記事 by Suikaba » 9年前

また、ここで質問させていただきます。
まず、ソースを張らせていただきますね。

コード:


template <class T>
class CSample
{
public:
	// コンストラクタ
	CSample(T t) : m_value(t){}

	// メンバ関数テンプレート
	template <class U>
	void func(const U& u)
	{
		std::cout << m_value << std::endl;
		std::cout << u << std::endl;
	}
private:
	T m_value;
};

ここの7行目のコンストラクタの部分ですが、この : はなにを示しているのでしょうか。
こんな私ですが、どうかお願いいたします。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: C/C++のコードでわからないことが・・・

#2

投稿記事 by softya(ソフト屋) » 9年前

それは、C++のコンストラクタの初期化リストの始まりを示します。
m_valueが初期化されるメンバ変数です。

初期化リストの質問をされていますが、C++のテンプレート機能自体は理解されていますか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

Suikaba
記事: 194
登録日時: 9年前

Re: C/C++のコードでわからないことが・・・

#3

投稿記事 by Suikaba » 9年前

>>softya(ソフト屋)さん

返信ありがとうございます。
テンプレートは一応理解していますが、まだ勉強中の身ですのでまた見直していくつもりです。
ありがとうございました。

閉鎖

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