4-3- 基 C++ に関する知識 オープンソースシステムのソースを解読する上で C++ の知識は必須であるといえる 本カリキュラムでは まずオブジェクト指向に関する Ⅰ. 概要理解を深め クラスの扱い方について学習し STL を使用してアルゴリズムとデータ構造を実装する方法を学習する Ⅱ. 対象専
|
|
|
- とき やまがた
- 9 years ago
- Views:
Transcription
1 4-3- 基 C++ に関する知識 1
2 4-3- 基 C++ に関する知識 オープンソースシステムのソースを解読する上で C++ の知識は必須であるといえる 本カリキュラムでは まずオブジェクト指向に関する Ⅰ. 概要理解を深め クラスの扱い方について学習し STL を使用してアルゴリズムとデータ構造を実装する方法を学習する Ⅱ. 対象専門分野職種共通 Ⅲ. 受講対象者 本カリキュラムの 4-2- 基 C に関する知識 を受講済みであること ま受講前提たは 同等の知識を有すること オブジェクト指向の概念を理解する C++ の概要や C++ プログラミングの基本文法に関して理解する クラスの定義方法とカプセル化を理解する 関数のオーバーロードと演算子のオーバーロードを理解する Ⅳ. 学習目標 継承や抽象クラスとオーバーライドを理解し 多相性を理解する 例外処理 名前空間 C++ でのキャストを理解する C++ でのコンソール入出力やファイル入出力に関して理解する テンプレートや STL を利用したプログラムを理解する Ⅴ. 使用教科書 C++ 実践プログラミング 教材等 Steve Oualline 著 オライリー ジャパン刊 Ⅵ. 習得スキル講義終了後の受講レポート 定量アンケート 知識確認ミニテスト の評価方法演習問題の取り組み状況を総合的に判断して評価を行う Ⅶ. カリキュラムレベル 2( 基本 ) 第 1 回 ~ 第 15 回の構成 2
3 講座内容 第 1 回オブジェクト指向の概念 ( 講義 + ワークショップ 90 分 ) C++ プログラミングの前提となるオブジェクト指向の概念について学習し オブジェクトの根本的な考え方 と 各種の用語 型による抽象的なデータ操作などについて理解する (1) オブジェクトとは 1 オブジェクトとは ( 属性 操作 関係 アイデンティティ ) 2 クラス ( 内包クラス 外延クラス ) 3 インスタンス (2) オブジェクト指向 1 カプセル化 2 継承 3 多相性 第 2 回 C++ の基本 ( 講義 + ワークショップ 90 分 ) C++ プログラミングの概要として 歴史や特徴について学習する また C++ によるプログラムを開発する 流れについて習得する (1) C++ の説明 1 C++ の歴史 ( 歴史 開発の経緯 適用範囲 ) 2 C++ とオブジェクト指向 3 変数の宣言とスコープ 4 新しいデータ型 (bool 型 const 型 ) 5 参照 ( 関数への参照渡し 戻り値としての参照返し ) (2) C++ による開発の流れ 1 プログラム実行までの流れ (g++ によるコンパイル方法 ) 2 簡単な C++ プログラムの作成 (iostream cin cout など ) 3
4 第 3 回クラスの定義 ( 講義 + ワークショップ 90 分 ) C++ のクラスの基本的な定義方法と使用方法を学習することで オブジェクト指向プログラミングのカプセル 化技法を習得する (1) クラスの定義 1 クラスと構造体の違い 2 クラスの定義方法 ( メンバ変数 メンバ関数 スコープ解決演算子 ) 3 アクセス指定子とカプセル化 (private public protected) 4 サンプルプログラム (2) オブジェクトの生成と使用 1 オブジェクトの静的生成方法 2 メンバのアクセス方法 ( ドット演算子 アロー演算子 ) 3 オブジェクトの一括代入 4 オブジェクト配列 第 4 回クラスの詳細 ( 講義 + ワークショップ 90 分 ) コンストラクタやデストラクタ 静的メンバ変数や静的メンバ関数といったクラスの詳細な扱い方を理解する また C++ での動的生成やオブジェクトを引数や戻り値で使用したときの注意点を学習する (1) クラスの詳細 1 コンストラクタとデストラクタ (C++ の構造体と共用体 ) 2 this ポインタ 3 静的メンバ変数 ( 定義 初期化 const) 4 静的メンバ関数と const メンバ関数 5 クラスの包含 6 サンプルプログラム (2) 動的生成 1 動的生成 (new 演算子 delete 演算子 ) 2 ポインタによる包含 (3) オブジェクトと関数 1 オブジェクトの仮引数と戻り値 ( 値 ポインタ 参照 ) 2 サンプルプログラム 4
5 第 5 回関数のオーバーロード ( 講義 + ワークショップ 90 分 ) C++ プログラミングを特徴付ける関数の使用方法と 関数のオーバーロードについて理解し 柔軟なプロ グラミングを行う技能を習得する (1) C++ における関数の特徴 1 引数のない関数 2 デフォルト引数 3 インライン関数 (inline キーワード クラス定義 最適化オプション ) 4 サンプルプログラム (2) 関数のオーバーロード 1 関数のオーバーロードとは ( 引数の型 引数の数 引数の並び順 ) 2 デフォルト引数と関数のオーバーロード ( 曖昧さ回避 ) 3 コンストラクタのオーバーロード ( デフォルトコンストラクタ 初期化子 const メンバ変数 ) 4 コピーコンストラクタ ( デフォルトコピーコンストラクタ ポインタのメンバ変数の注意点 ) 第 6 回演算子のオーバーロード ( 講義 + ワークショップ 90 分 ) 演算子のオーバーロードについて理解する またフレンドについて学習し 演算子のオーバーロードにフレ ンド関数を使用することの利点を理解する (1) 演算子のオーバーロード 1 演算子のオーバーロードとは ( オーバーロード可能な演算子と不可能な演算子 ) 2 演算子のオーバーロードの定義方法 (operator) 3 代入演算子のオーバーロード ( デフォルト代入演算子 コピーコンストラクタとの関係 ) 4 代入演算子のオーバーロードの注意点 ( 自己代入回避 ) 5 二項演算子と単項演算子のオーバーロード 6 関係演算子のオーバーロード 7 添字演算子のオーバーロード 8 サンプルプログラム (2) フレンド 1 フレンドとは ( カプセル化の視点からみた注意点 ) 2 フレンドクラス 3 フレンド関数 ( 二項演算子のオーバーロード ) 4 サンプルプログラム 5
6 第 7 回継承と多相性 ( 講義 + ワークショップ 90 分 ) C++ における継承の概念と利用方法を理解する また オーバーライドの使用方法を習得し 仮想関数を利 用した多相性の実現方法を学習する (1) 継承 1 継承の定義方法 ( 派生クラス 基底クラス アクセス識別子 ) 2 オーバーライドとは ( オーバーライドの使用方法 基底クラスへのアクセス方法 ) 3 コンストラクタとデストラクタの実行順序 4 基底クラスの初期化 ( 初期化子 ) 5 間接基底クラス ( 派生クラスを継承 ) 6 サンプルプログラム (2) 仮想関数と多相性 1 仮想関数とは ( 基底クラスへのポインタ 仮想関数を使用したときとの違い ) 2 仮想関数の定義 (virtual キーワード ) 3 多相性 ( 多相性を実装していないときとの違い ) 4 仮想デストラクタ (virtual キーワード 仮想デストラクタを使用していないときとの違い ) 第 8 回抽象クラス 多重継承 ( 講義 + ワークショップ 90 分 ) 抽象クラスやインタフェースクラスの概念と利用方法を学習する また 多重継承と仮想基底クラスの扱 いについて理解する (1) 抽象クラス 1 純粋仮想関数とは ( 概念と条件 定義方法 派生クラスでの実装漏れ防止 ) 2 抽象クラスとは ( インスタンス化の禁止 派生クラスで共通の資産提供 ) 3 抽象クラスの利用方法 4 インタフェースクラス ( カプセル化の強化によるクラス間の疎結合 ) 5 インタフェースクラスの利用 6 サンプルプログラム (2) 多重継承 1 多重継承 ( 概念と定義方法 それぞれの基底クラスのアクセス方法 ) 2 コンストラクタとデストラクタの実行順序 3 仮想基底クラス ( 同一間接基底クラスによるメンバの曖昧さ回避 定義方法 virtual キーワード ) 4 サンプルプログラム 6
7 第 9 回テンプレート ( 講義 + ワークショップ 90 分 ) C++ におけるジェネリックプログラミングの実現手法として テンプレートの概念と利便性を理解し 関数テ ンプレートとクラステンプレートの扱いを学習する また string クラスの使用方法を習得する (1) テンプレート 1 ジェネリックプログラミングとは ( データ型に依存しない 再利用性の向上 ) 2 テンプレートとは ( コンパイル時の多相性 ) 3 テンプレートの定義 (typename キーワード class キーワード ) 4 関数テンプレート ( 引数と戻り値のテンプレート定義 テンプレート関数 ) 5 クラステンプレート ( メンバのテンプレート定義 テンプレートクラス ) 6 テンプレートの利用 ( プレースホルダ 型の曖昧さ 型の指定方法 ) 7 サンプルプログラム (2) string クラス 1 string クラス ( 標準ライブラリ basic_string クラステンプレート 利用方法 可変長の文字列 ) 2 サンプルプログラム 第 10 回キャスト 名前空間 ( 講義 + ワークショップ 90 分 ) 実行時型情報の取得方法や C++ で導入されて C にはないキャストの方法を学習する また名前空間の 目的と利用方法を理解する (1) 実行時型情報 1 実行時型情報とは ( 多相性と実行時型情報 typeid 演算子での定義 ) 2 実行時型情報の利用方法 ( 多相性での利用方法 テンプレートクラスでの利用方法 ) (2) キャスト 1 C++ での新しいキャスト ( 特徴 安全性の強化 ) 2 キャストの利用方法 (dynamic_cast const_cast static_cast reinterpret_cast) (3) 名前空間 1 名前空間とは ( 同名定義による衝突回避 スコープ アクセス制限をしない ) 2 名前空間の定義 (namespace グローバルスコープ 名前空間の入れ子) 3 名前空間の利用 ( スコープ解決演算子 using namespace) 4 無名名前空間 ( 静的グローバル変数 定義方法 利用方法 ) 7
8 第 11 回例外 変換関数 ( 講義 + ワークショップ 90 分 ) C++ における動的エラーの統一した処理として例外処理の概念を理解し 利用方法を習得する また 変 換関数の利用方法を学習する (1) 例外 1 例外とは ( 実行中のエラー 例外処理 ) 2 例外オブジェクト (exception クラス 例外クラス 例外クラスの継承 ) 3 例外監視 (try キーワードでの定義 try ブロック ) 4 例外捕捉 (catch キーワードでの定義 catch ブロック 例外捕捉方法 ) 5 例外投入 (throw キーワードでの定義 ) 6 例外の利用方法 ( 制御の流れ ) 7 サンプルプログラム (2) 変換関数 1 変換関数とは ( クラスの型からの暗黙的な変換 ) 2 変換関数の定義と利用方法 (operator での定義 ) 第 12 回入出力 ( 講義 + ワークショップ 90 分 ) C++ での入出力システムの扱いを理解する 更に 定義済みマニピュレータとマニピュレータの作成方法 また抽出演算子や挿入演算子のオーバーロードの方法を学習する (1) C++ における入出力システムの説明 1 コンソールとファイルの入出力管理 ( ストリーム cin cout 抽出演算子 挿入演算子) 2 抽出演算子のオーバーロード 3 挿入演算子のオーバーロード 4 マニピュレータ (endl ends flush dec hex setw など ) (2) ファイル入出力 1 ファイルストリームクラス (ifstream ofstream fstream) 2 ファイル入出力処理 ( 明示的な open is_open 明示的な close など ) 8
9 第 13 回演習 ( アルゴリズムとデータ構造の実装 )( ワークショップ 90 分 ) スタックを演習課題として アルゴリズムとデータ構造をオブジェクト指向にて実装する 更に テンプレー トを使用してリファクタリングを行い ジェネリックプログラミングを習得する (1) オブジェクト指向プログラミングの演習 1 スタックの概要 ( スタックポインタ プッシュ ポップ ) 2 スタックの抽象クラスを実装 (int 型のスタック 純粋仮想関数のプッシュとポップ 例外クラス ) 3 スタックの抽象クラスを継承 ( 動的配列にプッシュとポップを行うメンバの実装 ) 4 サンプルプログラム (2) ジェネリックプログラミングの演習 1 スタックをテンプレートで実装 ( スタックの抽象クラスと派生クラスをテンプレート化 ) 2 サンプルプログラム 第 14 回 STL の概要 ( 講義 + ワークショップ 90 分 ) コンテナとアルゴリズムのライブラリであり C++ 標準の機能である STL(Standard Template Library) の構 成や種類について学習する (1) STL の概要 1 STL とは ( 標準テンプレートライブラリ アルゴリズムとデータ構造の分離 ) 2 STL の要素 ( イテレータ コンテナ アルゴリズム 関数オブジェクト アダプタ ) (2) イテレータとコンテナ 1 イテレータの種類 ( 入力 出力 前方 双方向 ランダム ) 2 コンテナの種類 (typedef での型名 ベクトル リスト マップ など ) (3) ベクトル 1 ベクトルの説明 ( 動的配列 vector メンバ関数) 2 添字でのベクトルの利用 (size push_back 添字演算子 ランダムアクセス など) 4 ベクトルでイテレータの利用 (iterator begin end insert erase 代入演算子 など) (4) マップ 1 マップの説明 ( 連想配列 map メンバ関数) 2 マップの利用 (pair insert size 添字演算子 iterator begin end erase など) 9
10 第 15 回アルゴリズムとデータ構造の使用 ( 講義 + ワークショップ 90 分 ) STL の様々なアルゴリズムの利用方法を習得し STL を使用した安全で柔軟なアルゴリズムとデータ構造 の実装方法を学習する (1) アルゴリズム 1 アルゴリズムの種類 ( 検索 カウント イコール ループ コピー リバース など ) (2) リスト 1 リストの説明 ( 順次アクセス list メンバ関数) 2 リストの利用 (push_back push_front iterator sort merge など) 4 基本的なアルゴリズムの利用 (count find fill min_element max_element など) 6 ループアルゴリズムの利用 (for_each 単項関数オブジェクト unary_function など) 7 サンプルプログラム 以上 10
.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~
.NET プログラマー早期育成ドリル VB 編 付録文法早見表 本資料は UUM01W:.NET プログラマー早期育成ドリル VB 編コードリーディング もしくは UUM02W:.NET プログラマー早期育成ドリル VB 編コードライティング を ご購入頂いた方にのみ提供される資料です 資料内容の転載はご遠慮下さい VB プログラミング文法早見表 < 基本文法 > 名前空間の定義 Namespace
(STL) STL 1 (deta structure) (algorithm) (deta structure) 2 STL STL (Standard Template Library) 2.1 STL STL ( ) vector<int> x; for(int i = 0; i < 10;
(STL) STL 1 (deta structure) (algorithm) (deta structure) 2 STL STL (Standard Template Library) 2.1 STL STL ( ) vector x; for(int i = 0; i < 10; ++i) x.push_back(i); vector STL x.push_back(i) STL
PowerPoint プレゼンテーション
オブジェクト指向 プログラミング演習 第 4 回継承 オーバーライド ポリモルフィズム 今日のお題 継承 オーバーライド ポリモルフィズム 継承 (inherit) あるクラス c のサブクラス s を定義する : このとき s は c を継承していると言う 何かの下位概念を表すクラスは その上位概念を表すクラスの属性や機能を ( 基本的には ) 使える 継承の例 大学生 長崎県立大学の学生 大学生を継承する概念
PowerPoint プレゼンテーション
5 月 Java 基礎 1 タイトル Java 基礎 2 日間 概要 目的 サーバサイドのプログラミング言語で最もシェアの高い Java SE の基本を習得します 当研修ではひとつの技術ごとに実用的なアプリケーションを作成するため 効果的な学習ができます Java SE の多くの API の中で 仕事でよく利用するものを中心に効率よく学びます 実際の業務で最も利用される開発環境である Eclipse
C 言語経験者のための C++ 入門
C 言語経験者のための C++ 入門 金森由博 [email protected] 2013/4/19 第 1.2 版 2011/7/19 第 1 版 この資料は下記 URL から入手できます http://kanamori.cs.tsukuba.ac.jp/index-ja.html#for_students 1 内容 C++ を学び始めに引っかかりそうなところを概説 この資料の目標は
解きながら学ぶC++入門編
!... 38!=... 35 "... 112 " "... 311 " "... 4, 264 #... 371 #define... 126, 371 #endif... 369 #if... 369 #ifndef... 369 #include... 3, 311 #undef... 371 %... 17, 18 %=... 85 &... 222 &... 203 &&... 40 &=...
Java知識テスト問題
Java 知識テスト SDAS プログラマ(Java 編 ) 運営事務局 このテストは J2EE プログラマとしての Java の知識を評価するものです 問題は 30 問, テスト時間は J2EE 知識テストとあわせて 90 分です 問題は全て択一式です 選択肢から 1 つだけ選択してください 資料の閲覧は禁止です テストが終わり次第 答案用紙を提出していただいてかまいません テスト終了後, 本テストの内容を他の方に話さないでください
PowerPoint プレゼンテーション
プログラマー勉強会 1 回 basic.h 補足 [ 修飾子 ] const 付けた変数は初期化以外で値を設定することができなくなる 定数宣言に使う unsigned 付けた変数は符号がなくなり 正の値しか設定できない [ 条件コンパイル ] #ifdef M ここ以前に M がマクロとして定義されていれば ここ以下をコンパイルする #ifndef M ここ以前に M というマクロが定義されていなければ
た場合クラスを用いて 以下のように書くことが出来る ( 教科書 p.270) プログラム例 2( ソースファイル名 :Chap08/AccountTester.java) // 銀行口座クラスとそれをテストするクラス第 1 版 // 銀行口座クラス class Account String name
クラス ( 教科書第 8 章 p.267~p.297) 前回は処理をまとめる方法として メソッドについて学習した 今回はメソッドとその処理の対象となるデータをまとめるためのクラスについて学習する このクラスはオブジェクト指向プログラミングを実現するための最も重要で基本的な技術であり メソッドより一回り大きなプログラムの部品を構成する 今回はクラスにおけるデータの扱いとクラスの作成方法 使用方法について説明していく
02: 変数と標準入出力
C プログラミング入門 基幹 7 ( 水 5) 13: 構造体 Linux にログインし 以下の講義ページを開いておくこと http://www-it.sci.waseda.ac.jp/ teachers/w483692/cpr1/ 2016-07-06 1 例題 : 多角形の面積 n = 5 (5 角形 ) の例 n 1 n 1 1 p 1 T 0 S = i=0 p 0 T i = i=0 2
JavaプログラミングⅠ
Java プログラミング Ⅰ 12 回目クラス 今日の講義で学ぶ内容 クラスとは クラスの宣言と利用 クラスの応用 クラス クラスとは 異なる複数の型の変数を内部にもつ型です 直観的に表現すると int 型や double 型は 1 1 つの値を管理できます int 型の変数 配列型は 2 5 8 6 3 7 同じ型の複数の変数を管理できます 配列型の変数 ( 配列変数 ) クラスは double
メディプロ1 Javaプログラミング補足資料.ppt
メディアプロジェクト演習 1 Javaプログラミング補足資料 l Javaとは l JavaScript と Java 言語の違い l オブジェクト指向 l コンストラクタ l 継承 抽象クラス 本資料内のページ番号は, 以下の参考書のページを引用している高橋麻奈 : やさしい Java, ソフトバンククリエイティブ (2,625 円 ) はじめに l プログラミング言語とは? l オブジェクト指向とは?
Javaの作成の前に
メディアプロジェクト演習 1 参考資料 Javaとは JavaScript と Java 言語の違い オブジェクト指向 コンストラクタ サーブレット 本資料内のページ番号は, 以下の参考書のページを引用している 高橋麻奈 : やさしい Java, ソフトバンククリエイティブ (2,625 円 ) はじめに プログラミング言語とは? オブジェクト指向とは? Java 言語とは? JavaとJavaScriptの違いとは?
目次 はじめに 4 概要 4 背景 4 対象 5 スケジュール 5 目標点 6 使用機材 6 第 1 章 C# 言語 7 C# 言語の歴史 7 基本構文 8 C 言語との違い 9 Java 言語との違い 10.Netフレームワーク 10 開発資料 10 第 2 章 Mono 11 Monoの歴史 1
ポリテクセンター埼玉セミナー資料 組込み技術者のための C# Monoを用いたマルチプラットフォームアプリケーション開発技術 第 1.2 版 2018 年 8 月 Microbrains Inc. 渋谷 目次 はじめに 4 概要 4 背景 4 対象 5 スケジュール 5 目標点 6 使用機材 6 第 1 章 C# 言語 7 C# 言語の歴史 7 基本構文 8 C 言語との違い 9 Java 言語との違い
プログラミング基礎I(再)
山元進 クラスとは クラスの宣言 オブジェクトの作成 クラスのメンバー フィールド 変数 配列 メソッド メソッドとは メソッドの引数 戻り値 変数の型を拡張したもの 例えば車のデータベース 車のメーカー 車種 登録番号などのデータ データベースの操作 ( 新規データのボタンなど ) プログラムで使う部品の仕様書 そのクラスのオブジェクトを作ると初めて部品になる 継承 などの仕組みにより カスタマイズが安全
design_pattern.key
#include void init(int* ary, int size) for (int i = 0; i < size; ++i) ary[i] = i; void mul10(int* ary, int size) for (int i = 0; i < size; ++i) ary[i] *= 10; void dispary(int* ary, int size)
PowerPoint プレゼンテーション
講座準備 講座資料は次の URL から DL 可能 https://goo.gl/jnrfth 1 ポインタ講座 2017/01/06,09 fumi 2 はじめに ポインタはC 言語において理解が難しいとされる そのポインタを理解することを目的とする 講座は1 日で行うので 詳しいことは調べること 3 はじめに みなさん復習はしましたか? 4 & 演算子 & 演算子を使うと 変数のアドレスが得られる
Microsoft PowerPoint - 09.pptx
情報処理 Ⅱ 第 9 回 2014 年 12 月 22 日 ( 月 ) 関数とは なぜ関数 関数の分類 自作関数 : 自分で定義する. ユーザ関数 ユーザ定義関数 などともいう. 本日のテーマ ライブラリ関数 : 出来合いのもの.printf など. なぜ関数を定義するのか? 処理を共通化 ( 一般化 ) する プログラムの見通しをよくする 機能分割 ( モジュール化, 再利用 ) 責任 ( あるいは不具合の発生源
RX ファミリ用 C/C++ コンパイラ V.1.00 Release 02 ご使用上のお願い RX ファミリ用 C/C++ コンパイラの使用上の注意事項 4 件を連絡します #pragma option 使用時の 1 または 2 バイトの整数型の関数戻り値に関する注意事項 (RXC#012) 共用
RX ファミリ用 C/C++ コンパイラ V.1.00 Release 02 ご使用上のお願い RX ファミリ用 C/C++ コンパイラの使用上の注意事項 4 件を連絡します #pragma option 使用時の 1 または 2 バイトの整数型の関数戻り値に関する注意事項 (RXC#012) 共用体型のローカル変数を文字列操作関数で操作する場合の注意事項 (RXC#013) 配列型構造体または共用体の配列型メンバから読み出した値を動的初期化に用いる場合の注意事項
新版 明解C++入門編
第 1 章画面 出力 入力 C++ C++ C++ C++ C++ C++ C++ C++ #include using C++ C++ C++ main C++ C++ C++ int double char C++ C++ C++ string C++ C++ C++ 21 1-1 C++ 歴史 C++ C++ 歴史 CC with classes Fig.1-1 C C++ Simula 67
Microsoft Word - C言語研修 C++編 3.doc
2006/05/10 オブジェクト指向... 3 1 クラスの継承... 3 2 継承の書式... 3 3 protected... 5 4 メンバ関数のオーバーライド... 6 5 クラスの型キャスト... 7 6 仮想関数... 8 2 オブジェクト指向 1 クラスの継承 クラスには 継承 という機能があります 継承とは 既にあるクラスを元に 新しいクラスを作る 機能です 継承元のクラスを 親クラス
Javaプログラマー早期育成ドリル ~コードリーディング編~ 解答
Java プログラマー早期育成ドリルコードリーディング編 解答 2 版 2017 年 1 月 本資料は UFN25W:Javaプログラマー早期育成ドリルコードリーディング編 をご購入頂いた方にのみ提供される資料です 資料内容の転載はご遠慮ください 本解答は UFN25W:Javaプログラマー早期育成ドリルコードリーディング編 の初版および2 版に対応しています コラム一覧 このドリルの解答では すべての構文の紹介はしていません
Microsoft PowerPoint - chap10_OOP.ppt
プログラミング講義 Chapter 10: オブジェクト指向プログラミング (Object-Oriented Programming=OOP) の入り口の入り口の入り口 秋山英三 F1027 1 例 : 部屋のデータを扱う // Test.java の内容 public class Test { public static void main(string[] args) { double length1,
第 2 章インタフェース定義言語 (IDL) IDL とは 言語や OS に依存しないインタフェース定義を行うためのインタフェース定義言語です CORBA アプリケーションを作成する場合は インタフェースを定義した IDL ファイルを作成する必要があります ここでは IDL の文法や IDL ファイ
第 2 章インタフェース定義言語 (IDL) IDL とは 言語や OS に依存しないインタフェース定義を行うためのインタフェース定義言語です CORBA アプリケーションを作成する場合は インタフェースを定義した IDL ファイルを作成する必要があります ここでは IDL の文法や IDL ファイルの作成方法 コンパイル方法について説明します IDL ファイルの作成にあたっては INTERSTAGE
(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド
メソッド ( 教科書第 7 章 p.221~p.239) ここまでには文字列を表示する System.out.print() やキーボードから整数を入力する stdin.nextint() などを用いてプログラムを作成してきた これらはメソッドと呼ばれるプログラムを構成する部品である メソッドとは Java や C++ などのオブジェクト指向プログラミング言語で利用されている概念であり 他の言語での関数やサブルーチンに相当するが
JAVA入門
JAVA 入門後期 10 情報処理試験例題解説 H14 年度秋問 8 次の Java プログラムの説明及びプログラムを読んで, 設問に答えよ プログラムの説明 ディジタル論理回路シミュレータを作成するためのクラスとテスト用クラスである (1) ゲートを表す抽象クラス Gate のサブクラスとして, NOT ゲートを表すクラス NotGate 及び AND ゲートを表すクラス AndGate を定義する
プログラミング実習I
プログラミング実習 I 05 関数 (1) 人間システム工学科井村誠孝 [email protected] 関数とは p.162 数学的には入力に対して出力が決まるもの C 言語では入出力が定まったひとまとまりの処理 入力や出力はあるときもないときもある main() も関数の一種 何かの仕事をこなしてくれる魔法のブラックボックス 例 : printf() 関数中で行われている処理の詳細を使う側は知らないが,
バイオプログラミング第 1 榊原康文 佐藤健吾 慶應義塾大学理工学部生命情報学科
バイオプログラミング第 1 榊原康文 佐藤健吾 慶應義塾大学理工学部生命情報学科 ポインタ変数の扱い方 1 ポインタ変数の宣言 int *p; double *q; 2 ポインタ変数へのアドレスの代入 int *p; と宣言した時,p がポインタ変数 int x; と普通に宣言した変数に対して, p = &x; は x のアドレスのポインタ変数 p への代入 ポインタ変数の扱い方 3 間接参照 (
情報処理 Ⅱ 2007 年 11 月 26 日 ( 月 )
情報処理 Ⅱ 2007 年 11 月 26 日 ( 月 ) 本日学ぶこと 関数と変数 目的 関数を自分で定義し, 変数の利用方法 範囲を明示的に制限することで, 適切な機能分割 ( モジュール化, 再利用 ) を図る. してはいけないこと main 関数のみで 100 行以上のプログラム グローバル変数を駆使するプログラム プログラムを読みやすくする 保守性向上 入 p.109 2 関数 (Function)
オブジェクト指向プログラミング・同演習 5月21日演習課題
オブジェクト指向プログラミング 同演習 5 月 21 日演習課題 問題 1 配列の例外処理例外が発生する可能性のある処理を try で囲み その後に catch で例外を捕捉します 例外処理の終了処理として finally が行われます これは書かなくて自動的に行われます 提出課題 1 (Kadai052301.java) 以下のプログラムは例外処理をしていない ArrayIndexOutOfBoundsException
ML 演習 第 4 回
ML 演習第 4 回 おおいわ Mar 6, 2003 今回の内容 補足 Ocaml のモジュールシステム structure signature functor Ocaml コンパイラの利用 2 識別子について 利用可能文字 先頭文字 : A~Z, a~z, _ ( 小文字扱い ) 2 文字目以降 : A~Z, a~z, 0~9, _, 先頭の文字の case で 2 つに区別 小文字 : 変数,
プログラミング演習 土曜日(Q組)
プログラミング演習 土曜日 (Q 組 ) 主なテーマ 標準入出力とファイル処理 (8 章 ) 1 ストリームの概念 8.1 標準入出力 (C++) C++ では データの入出力を ストリーム という概念で操作する ストリームはデータを入出力処理し また 入出力に伴う 状態 を設定 / 保持する 例 : 現在 ファイルの何文字目を読み書きしているか などの情報 論理デバイス 物理デバイス 入力ストリーム
4 月 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プロ
4 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プログラミング技術 工業 333 実教出版 ) 共通 : 科目 プログラミング技術 のオリエンテーション プログラミング技術は
プログラミングI第10回
プログラミング 1 第 10 回 構造体 (3) 応用 リスト操作 この資料にあるサンプルプログラムは /home/course/prog1/public_html/2007/hw/lec/sources/ 下に置いてありますから 各自自分のディレクトリにコピーして コンパイル 実行してみてください Prog1 2007 Lec 101 Programming1 Group 19992007 データ構造
Javaセキュアコーディングセミナー2013東京第1回 演習の解説
Java セキュアコーディングセミナー東京 第 1 回オブジェクトの生成とセキュリティ 演習の解説 2012 年 9 月 9 日 ( 日 ) JPCERT コーディネーションセンター脆弱性解析チーム戸田洋三 1 演習 [1] 2 演習 [1] class Dog { public static void bark() { System.out.print("woof"); class Bulldog
JavaプログラミングⅠ
Java プログラミング Ⅱ 3 回目クラスの機能 (1) アクセス制限 オーバーロード課題 確認 問題次の各文は正しいか誤っているか答えなさい (1) クラスの private メンバは そのクラスからのみアクセス可能なメンバである (2) 一般に クラスのフィールドはどこからでもアクセスできるように public メンバで宣言すべきである (3) クラスは private メンバと public
Microsoft PowerPoint - CproNt02.ppt [互換モード]
第 2 章 C プログラムの書き方 CPro:02-01 概要 C プログラムの構成要素は関数 ( プログラム = 関数の集まり ) 関数は, ヘッダと本体からなる 使用する関数は, プログラムの先頭 ( 厳密には, 使用場所より前 ) で型宣言 ( プロトタイプ宣言 ) する 関数は仮引数を用いることができる ( なくてもよい ) 関数には戻り値がある ( なくてもよい void 型 ) コメント
6-2- 応ネットワークセキュリティに関する知識 1 独立行政法人情報処理推進機構
6-2- 応ネットワークセキュリティに関する知識 1 6-2. ネットワークセキュリティに関する知識 OSS 動作環境におけるセキュリティリスク それに対応するセキュリ ティ要件とその機能 構成に関して 実際の開発 運用の際に必要な Ⅰ. 概要 管理知識 手法の種類と特徴 内容を理解する 特に Linux サーバ による実務の手順に即して ネットワークセキュリティを確保するため の手順を学ぶ Ⅱ.
JavaプログラミングⅠ
Java プログラミング Ⅱ 8 回目抽象クラスとインタフェース課題 確認 問題次の各文は正しいか誤っているか答えなさい (1) 抽象クラスのオブジェクトは生成できる (2) 抽象メソッドとはメソッドの本体が未定義のメソッドである (3) 抽象メソッドをメンバーにもつクラスは抽象クラスである (4) 抽象クラスを拡張してすべての抽象メソッドをオーバーライドすれば サブクラスのオブジェクトを生成できる
コンパイラパッケージ アプリケーションノート:<STLライブラリ V > ユーザーズマニュアル
:< STL ライブラリ V.1.00.00 > ユーザーズマニュアル RJJ10J2802-0100 Rev.1.00 本ドキュメントでは Renesas C/C++ コンパイラ向け STL ライブラリ V.1.00.00 の使用方法を説明します 目次 1. はじめに... 2 1.1. STL 母体... 2 1.2. 対象外の機能... 2 1.3. 免責... 2 2. STL 機能組み込み手順...
