<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.yz-learning.com/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>Yz-Learning Base Wiki - game-engineer:classes:2021:game-programing-1:second-term:02</title>
        <description></description>
        <link>https://wiki.yz-learning.com/</link>
        <lastBuildDate>Sat, 04 Apr 2026 14:33:21 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>https://wiki.yz-learning.com/lib/exe/fetch.php?media=wiki:dokuwiki.svg</url>
            <title>Yz-Learning Base Wiki</title>
            <link>https://wiki.yz-learning.com/</link>
        </image>
        <item>
            <title>オーバーライドの練習</title>
            <link>https://wiki.yz-learning.com/doku.php?id=game-engineer:classes:2021:game-programing-1:second-term:02:02-08-1&amp;rev=1652325380</link>
            <description>オーバーライドの練習

今日やった事

汎化　⇔　特化

ここまで勉強すると、設計の方針は2種類の方向性が出てくる。


	*  クラスの機能を増やしていき、継承先の機能をどんどん特殊化していく方向の設計方法</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 12 May 2022 03:16:20 +0000</pubDate>
        </item>
        <item>
            <title>落穂拾い（これまでに出た質問とか）</title>
            <link>https://wiki.yz-learning.com/doku.php?id=game-engineer:classes:2021:game-programing-1:second-term:02:02-09-xx&amp;rev=1652325381</link>
            <description>落穂拾い（これまでに出た質問とか）

	*  １２月２３日辺り
	*  　１月１３日辺り
	*  　１月１７日辺り</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 12 May 2022 03:16:21 +0000</pubDate>
        </item>
        <item>
            <title>オーバーライドの演習（続き）</title>
            <link>https://wiki.yz-learning.com/doku.php?id=game-engineer:classes:2021:game-programing-1:second-term:02:02-14-12&amp;rev=1652325380</link>
            <description>オーバーライドの演習（続き）

ベースクラス（cChara型）

戦士、魔法使い、盗賊の基本機能だけを持った抽象クラス

これ自体は、ベースとして使うからインスタンス化はしない（できない）</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 12 May 2022 03:16:20 +0000</pubDate>
        </item>
        <item>
            <title>仮想関数まとめ</title>
            <link>https://wiki.yz-learning.com/doku.php?id=game-engineer:classes:2021:game-programing-1:second-term:02:02-21-12&amp;rev=1652325380</link>
            <description>仮想関数まとめ


仮想関数：
　→何のためにあるっけ？
　・派生先で関数を上書きするための準備として宣言する。
　・逆に言うと、ベースクラス（親クラス）で仮想関数を
　　書いておかないとただの隠蔽になっちゃうよ
　　（関数の上書きじゃなく、親クラスと子クラスに同じ名前
　　　の関数が2つある状態。これはこれで使えなくもないよ）
　→親クラスでvirtualつけた関数は実装しなくていい？
　・親クラスの実装も使いたいときは、実装する
　・完全に「インターフェース」として使うなら純粋仮想関数にする
　　純粋仮想関数=&gt; virtual 関数名(引数) = 0;
    純粋仮想関数は、派生先でしか実装できない。
　・純粋仮想関数を含むクラスを（抽象クラス）という。
　　抽象クラスは、インスタンスを作れない
　　＝派生させるしかない＝インターフェースとして使うしかない…</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 12 May 2022 03:16:20 +0000</pubDate>
        </item>
        <item>
            <title>コンストラクタ、デストラクタの呼ばれる順番</title>
            <link>https://wiki.yz-learning.com/doku.php?id=game-engineer:classes:2021:game-programing-1:second-term:02:02-28-12-0&amp;rev=1652325380</link>
            <description>コンストラクタ、デストラクタの呼ばれる順番

classが単独（継承関係なし）の時


class A{
    A();
    ~A();
};


パターン１


int main(){
    A samp;
}


	*  インスタンスが生成されるときコンストラクタA()が呼ばれる</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 12 May 2022 03:16:20 +0000</pubDate>
        </item>
        <item>
            <title>関数テンプレートサンプルソース</title>
            <link>https://wiki.yz-learning.com/doku.php?id=game-engineer:classes:2021:game-programing-1:second-term:02:02-28-12-1&amp;rev=1652325380</link>
            <description>関数テンプレートサンプルソース


#include &lt;iostream&gt;

using namespace std;

//2つの引数の最大値を求める
int maxvalue(int a, int b)
{
	if (a &gt; b)
		return a;
	else 
		return b;
}

double maxvalue(double a, double b)
{
	if (a &gt; b)
		return a;
	else
		return b;
}

float maxvalue(float a, float b)
{
	if (a &gt; b)
		return a;
	else
		return b;
}

template &lt;typename T&gt; 
T maxvalue(T a, T b)
{
	if (a &gt; b)
		return a;
	else
		return b;
}
int main()
{
	int x = 10, y = 30, z;
	double x1 = 15.1, y1 = 10.1, z1;

	z = maxvalue&lt;int&gt;(x, y…</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 12 May 2022 03:16:20 +0000</pubDate>
        </item>
        <item>
            <title>仮想関数とデストラクタ</title>
            <link>https://wiki.yz-learning.com/doku.php?id=game-engineer:classes:2021:game-programing-1:second-term:02:02-28-12&amp;rev=1652325380</link>
            <description>仮想関数とデストラクタ

仮想関数を持ったクラスを派生して、ベースクラスのポインタからアクセスしたいときは

ベースクラスのデストラクタを仮想関数にしないと、派生クラスのデストラクタが呼ばれない！</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 12 May 2022 03:16:20 +0000</pubDate>
        </item>
        <item>
            <title></title>
            <link>https://wiki.yz-learning.com/doku.php?id=game-engineer:classes:2021:game-programing-1:second-term:02:samp&amp;rev=1652325380</link>
            <description>a</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 12 May 2022 03:16:20 +0000</pubDate>
        </item>
    </channel>
</rss>
