| 授業計画 | 
		
			| 回数 | 学習目標 | 学習項目 | 
		
			| 1 | ・参照(reference)についてポインタと比較した機能が説明出来る。
・const属性と併せてconst参照の引数を利用するメリットについて説明出来る。 | ・シラバス・成績評価、授業の目標について説明。
・ポインタと比較しながら参照について説明。
・引数をconst参照にすることのメリットについて説明。 | 
		
			| 【理解度確認】講義内の小テストおよび実習時の提出課題・結果にて確認が出来る。 | 
		
			| 2 | ・構造体(struct)を利用したデータ構造、およびメソッド(振る舞い)を理解し、
 メソッドを含めた構造体を作成出来る。 
・thisポインタなど構造体を含めたポインタの利用について説明出来る。 | ・メソッドを含めた構造体の作成について実演・説明。 
・thisポインタなど構造体と関連するポインタ・参照の活用について説明。 | 
		
			| 【理解度確認】講義内の小テストおよび実習時の提出課題・結果にて確認が出来る。 | 
		
			| 3 | ・関数のオーバーロードについて説明出来る。
・オペレータ(演算子)のオーバーロードについて説明出来る。 | ・関数のオーバーロードについて説明出来る。
・オペレータ(演算子)のオーバーロードについて説明出来る。 | 
		
			| 【理解度確認】講義内の小テストおよび実習時の提出課題・結果にて確認が出来る。 | 
		
			| 4 | ・アクセスラベル(アクセス修飾子)を理解し説明出来る。
・アクセスラベルを踏まえてクラス(class)と構造体の違いを説明出来る。 | ・アクセスラベル(public/private)について説明。
・アクセスラベルを含めたクラスの作成について説明。 | 
		
			| 【理解度確認】講義内の小テストおよび実習時の提出課題・結果にて確認が出来る。 | 
		
			| 5 | ・デフォルトコンストラクタについて説明出来る。
・デストラクタについて説明出来る。
・引数付きコンストラクタ、初期化子リストについて説明出来る。 | ・デフォルトコンストラクタ、デストラクタについて説明。
・引数付きコンストラクタの作成・注意点について説明。
・初期化子リストについて説明。 | 
		
			| 【理解度確認】講義内の小テストおよび実習時の提出課題・結果にて確認が出来る。 | 
		
			| 6 | ・コピーコンストラクタについて説明出来る。
・constオブジェクト、constメソッドについて説明出来る。 | ・コピーコンストラクタについて説明。
・constオブジェクト、constメソッドについて説明。 | 
		
			| 【理解度確認】講義内の小テストおよび実習時の提出課題・結果にて確認が出来る。 | 
		
			| 7 | ・default/deleteによるコンストラクタ/デストラクタの作成について説明出来る。
・static,friendの効果・用途について説明出来る。 | ・default/deleteによるコンストラクタ/デストラクタの作成について説明。 
・static,friendの効果・用途について説明出来る。 | 
		
			| 【理解度確認】講義内の小テストおよび実習時の提出課題・結果にて確認が出来る。 | 
		
			| 8 | ・前半の学習内容(第1~7回)を改めて整理・理解して
 ゲームプログラミングなどのコーディングへ活用出来る。
・中間テスト(第1~7回の内容が試験範囲)による学習結果の数値化が出来る。 | ・第1~7回までの復習内容について説明。
・第1~7回までの学習内容を利用した、ソースコードへの
 活用事例・変化について説明。
・実習時に中間テスト(第1~7回の内容が試験範囲)を実施。 | 
		
			| 【理解度確認】 実習時の提出課題の結果及び中間テストの結果にて確認が出来る。 | 
		
			| 9 | ・public継承について説明出来る。
・継承元クラスのprivate属性およびprotected属性について説明出来る。
・private継承および包含について説明出来る。 | ・public継承について説明。
・継承元クラスのprivate属性およびprotected属性について説明。
・private継承および包含について説明。 | 
		
			| 【理解度確認】講義内の小テストおよび実習時の提出課題・結果にて確認が出来る。 | 
		
			| 10 | ・仮想関数(virtual)について説明出来る。
・仮想デストラクタについて説明出来る。 | ・仮想関数(virtual)について説明。
・デストラクタによるメモリリークの可能性および仮想デストラクタについて説明。
・override,finalなど仮想関数と関連した用語について説明。 | 
		
			| 【理解度確認】講義内の小テストおよび実習時の提出課題・結果にて確認が出来る。 | 
		
			| 11 | ・純粋仮想関数について説明出来る。
・抽象クラスについて説明出来る。 | ・純粋仮想関数と仮想関数との比較について説明。
・抽象クラスについて説明。 | 
		
			| 【理解度確認】講義内の小テストおよび実習時の提出課題・結果にて確認が出来る。 | 
		
			| 12 | ・簡単な関数テンプレート・クラステンプレートを作成出来る。 
・ダングリングポインタによる問題点を説明出来る。 | ・テンプレート機能の基礎について説明。
・new/deleteによるメモリの動的確保、およびその問題点について説明。 | 
		
			| 【理解度確認】講義内の小テストおよび実習時の提出課題・結果にて確認が出来る。 | 
		
			| 13 | ・スマートポインタの用途・メリットについて説明出来る。 
・用途に応じたスマートポインタの使い分けが出来る。 | ・スマートポインタについて用途・メリットの概略について説明。 
・unique_ptr,shared_ptr,weak_ptrについてそれぞれ説明。 | 
		
			| 【理解度確認】講義内の小テストおよび実習時の提出課題・結果にて確認が出来る。 | 
		
			| 14 | 循環参照とその対処方法について説明出来る。 | shared_ptrによる循環参照、weak_ptrを使った対処方法をそれぞれ説明。 | 
		
			| 【理解度確認】講義内の小テストおよび実習時の提出課題・結果にて確認が出来る。 | 
		
			| 15 | ・後半の学習内容(第9~14回)を改めて整理・理解して
 ゲームプログラミングなどのコーディングへ活用出来る。 | ・第9~14回までの復習内容について説明。
・第9~14回までの学習内容を利用した、ソースコードへの
 活用事例・変化について説明。 | 
		
			| 【理解度確認】講義内の小テストおよび実習時の提出課題・結果にて確認が出来る。 |