Cpp クラス メンバ関数 新しいページはコチラ
提供: yonewiki
(ページの作成:「<table class="mbox-small" style="border:1px solid #aaa; background-color:#f9f9f9; width:22em;" id="RealTitleBanner"> <tr> <td style="width:1px;"></td> <td class="mbox-tex...」) |
(→クラス メンバ関数) |
||
8行: | 8行: | ||
<br /> | <br /> | ||
== '''クラス メンバ関数''' == | == '''クラス メンバ関数''' == | ||
+ | この記事の前までに項目、[[Cpp クラス|クラス]]、[[Cpp クラス アクセス指定子|アクセス指定子]]、[[Cpp クラス メンバ変数|メンバ変数]]で既に登場した言葉なので、説明するまでもないですが、この記事でメンバ変数について記述したいと思います。メンバ変数の記事と内容はほとんど同じです。メンバ変数を熟読した場合は流し読みで問題ないと思います。 | ||
+ | |||
+ | |||
+ | たとえば…メンバ変数の記事でも使った以下のようなクラスがあったとしたら、という内容でクラスのメンバ関数について説明します。 | ||
+ | |||
+ | MemberVar001.h | ||
+ | <syntaxhighlight lang="cpp" line start="1"> | ||
+ | #pragma once | ||
+ | class CMemberVar001 | ||
+ | { | ||
+ | private: | ||
+ | int m_nValue; | ||
+ | void mf_Print(void);//★メンバ関数 | ||
+ | void mf_Print2(void);//★メンバ関数 | ||
+ | protected: | ||
+ | int mpro_nValue; | ||
+ | void mfpro_Print(void);//★メンバ関数 | ||
+ | void mfpro_Print2(void);//★メンバ関数 | ||
+ | public: | ||
+ | int mpub_nValue; | ||
+ | void mfpub_Print(void);//★メンバ関数 | ||
+ | void mfpub_Print2(void);//★メンバ関数 | ||
+ | |||
+ | CMemberVar001(void); | ||
+ | ~CMemberVar001(void); | ||
+ | }; | ||
+ | </syntaxhighlight> | ||
+ | MemberVar001.cpp | ||
+ | <syntaxhighlight lang="cpp" line start="1"> | ||
+ | #include "stdafx.h" | ||
+ | #include "MemberVar001.h" | ||
+ | |||
+ | void CMemberVar001::mf_Print(void){ | ||
+ | printf("CMemberVar001 プライベート メンバ関数\n"); | ||
+ | printf("mpub_nValue=%d,mpro_nValue=%d,m_nValue=%d\n",mpub_nValue, mpro_nValue, m_nValue); | ||
+ | |||
+ | printf("\n"); | ||
+ | printf("CMemberVar001 mf_Print関数から呼び出し\n"); | ||
+ | mfpro_Print2(); | ||
+ | mfpub_Print2(); | ||
+ | printf("\n"); | ||
+ | |||
+ | } | ||
+ | void CMemberVar001::mfpro_Print(void){ | ||
+ | printf("CMemberVar001 プロテクト メンバ関数\n"); | ||
+ | printf("mpub_nValue=%d,mpro_nValue=%d,m_nValue=%d\n",mpub_nValue, mpro_nValue, m_nValue); | ||
+ | |||
+ | printf("\n"); | ||
+ | printf("CMemberVar001 mfpro_Print関数から呼び出し\n"); | ||
+ | mf_Print2(); | ||
+ | mfpub_Print2(); | ||
+ | printf("\n"); | ||
+ | } | ||
+ | void CMemberVar001::mfpub_Print(void){ | ||
+ | printf("CMemberVar001 パブリック メンバ関数\n"); | ||
+ | printf("mpub_nValue=%d,mpro_nValue=%d,m_nValue=%d\n",mpub_nValue, mpro_nValue, m_nValue); | ||
+ | |||
+ | printf("\n"); | ||
+ | printf("CMemberVar001 mfpub_Print関数から呼び出し\n"); | ||
+ | mf_Print2(); | ||
+ | mfpro_Print2(); | ||
+ | printf("\n"); | ||
+ | } | ||
+ | void CMemberVar001::mf_Print2(void){ | ||
+ | printf("★CMemberVar001 プライベート mfpub_Print2関数\n"); | ||
+ | } | ||
+ | void CMemberVar001::mfpro_Print2(void){ | ||
+ | printf("★CMemberVar001 プロテクト mfpub_Print2関数\n"); | ||
+ | } | ||
+ | void CMemberVar001::mfpub_Print2(void){ | ||
+ | printf("★CMemberVar001 パブリック mfpub_Print2関数\n"); | ||
+ | } | ||
+ | |||
+ | CMemberVar001::CMemberVar001(void) | ||
+ | { | ||
+ | } | ||
+ | |||
+ | |||
+ | CMemberVar001::~CMemberVar001(void) | ||
+ | { | ||
+ | } | ||
+ | |||
+ | </syntaxhighlight> | ||
+ | というようなクラスがあったとして、ってまったくメンバ変数と同じ記事の展開にすると意味がないので、更に派生したクラスを追加してみたいと思います。派生に関する詳細は継承の記事に記述する予定ですが、アクセス指定子の説明でも継承は使いました。あまり深く考えない程度に継承を使います。 | ||
+ | |||
+ | |||
+ | 続きはまた今度… |