The Office Uchida, School of Computer

コンピュータを学習する人の学校:パソコンキャンパス、プログラミングキャンパス
ホーム速習 CプログラマのためのC++プログラミング入門
文字の縮小

デジタルナレッジの本コンテンツの販売サイト (1ヶ月コース, 3,150円)(3ヶ月コース, 6,300円)
速習 CプログラマのためのC++プログラミング入門」 標準コース(約5時間30分:学習時間1ヶ月)
速習 CプログラマのためのC++プログラミング入門」 じっくりコース(約5時間30分:学習時間3ヶ月)

対象となる方:C言語をある程度、ご存知の方で、急にC++のプログラミングに携わることになった方、あるいはC++の概要について知りたい方、 C++はほとんど知らないのにVisual C++.NETなどでプログラムを組む必要が出てきた方。組み込み系の開発などに携わる必要がある方。

内容紹介:ある程度のC言語の知識をお持ちの方を対象に、約5時間30分という短い講義時間で、C++言語のエッセンスについて解説します。 この講座では、たくさんのサンプルプログラムを例題として用いていますが、それらのプログラムは こちらから閲覧することができます。
 この講座の講師は、過去18年に渡り、企業や各種セミナーなどでC言語の教育に携わってまいりました。そのノウハウがこの講座に集約されています。
 なお、本講座は、受講される方に対してある程度のC言語の知識を仮定しています。そのため、C言語に関する部分の説明はしておりません。 C++のエッセンスだけを解説しているので、講義時間は前述のように約5時間30分ほどになっています。 そこで、通常は1ヶ月もあれば学習するには十分と考え、1ヶ月コースを用意しました。 しかし、少し時間を取って学習したいという方のために、3ヶ月コースも用意しました。これらは学習期間が異なるだけで内容は同じものです。

利用方法:個人で利用する場合はもちろん、会社の研修・新人研修でも十分使える内容になっています。

講師

神奈川大学工学部助教授
内田智史 詳しいプロフィール

学習方法:本コンテンツの学習方法は、こちらからどうぞ。

FAQ:本コンテンツに対するFAQは、こちらからどうぞ。

FAQ:本コンテンツに対するサンプルプログラム集は、こちらのWebページに記載されています。

速習 CプログラマのためのC++プログラミング入門(総講義時間:5時間27分3秒)
第1章 C++の概要 (55分47秒)
タイトル収録時間ポイント
1.1C++の概要5:57C++の歴史, C言語とC++の簡単な比較, C++の機能
1.2C++の便利な文法(その1)25:22ネームスペース,変数の定義,コメント,const,bool型 , インライン関数,リファレンスによる参照
1.3C++の便利な文法(その2)24:25デフォルト引数, 関数のオーバーロード,シグニチャ, 構造体,メモリ割り当て,ネームスペース
第2章 オブジェクト指向の基礎 (1時間20分26秒)
タイトル収録時間ポイント
2.1オブジェクト指向とクラス27:22データ抽象化, クラスの定義:メンバ変数とメンバ関数 , メンバ関数呼び出しのメカニズム
2.2アクセス制御13:09メンバ変数のアクセス制御, publicとprivate, メンバ変数にアクセスするメンバ関数:アクセサ
2.3コンストラクタとデストラクタ16:34コンストラクタ, thisの省略,デストラクタ
2.4クラス変数8:27クラス変数とは, クラス変数の定義の仕方, クラス変数の利用の仕方
2.5staticメンバ関数14:54staticメンバ関数, staticメンバ関数のプログラム, staticメンバ関数の注意点
第3章 継承の詳細 (1時間11分37秒)
タイトル収録時間ポイント
3.1継承の詳細:Pointクラス11:42実例による解説:図形の例, Point (点)クラス, Point (点)クラスのプログラム
3.2継承の詳細:Tri(三角形)クラス12:46三角形クラス, 三角形クラスのオブジェクト, 三角形クラス定義
3.3継承の詳細:色付き三角形クラス31:14色付き三角形クラスの定義, protected、継承されたクラスのオブジェクトの生成過程, 継承されたメンバ関数の実行
3.4継承の詳細:テキスト付き色付き三角形5:58テキスト付き色付き三角形クラスのオブジェクト, 実際のプログラム
3.5継承の詳細:今までのまとめ9:57クラス階層とメンバ関数の実行, メンバ関数のオーバーライド
第4章 クラス関連の話題 (45分59秒)
タイトル収録時間ポイント
4.1フレンド:friend、friend関数9:50privateメンバ変数の復習,friend を使ってprivateメンバ変数へのアクセスを可能にする ,friend関数
4.2多重継承11:43多重継承,多重継承:エラーとなる例,仮想基本クラス
4.3仮想関数 (virtual function)6:41継承されたオブジェクトのメンバ関数の実行過程,仮想関数とその動作
4.4private継承2:32private継承
4.5グローバルスコープ(解決)演算子3:38一般の関数とメンバ関数を比較しながら、グローバルスコープ演算子について説明する
4.6例外処理8:35例外処理 try 構文,さまざまな型でthrowする,さまざまなクラスでthrowする
第5章 演算子のオーバーロード (37分43秒)
タイトル収録時間ポイント
5.1+演算子と=演算子のオーバーロード12:46点(Point)クラスの加算,C++では自分で演算子を定義できる,+演算子と=演算子のメカニズム
5.2コピーコンストラクタと=演算子11:47コピーコンストラクタ,コピーコンストラクタが使われる場面(=演算子) ,コピーコンストラクタが使われる場面(関数)
5.3さまざまな演算子の定義13:10四則演算子の定義,代入演算子の定義、単項演算子の定義,関係演算子、出力演算子の定義
第6章 テンプレートとC++標準ライブラリ (35分31秒)
タイトル収録時間ポイント
6.1テンプレート関数6:02テンプレート関数,より特化したテンプレート関数,テンプレートはクラスにも対応
6.2テンプレートクラス4:23テンプレートクラス
6.3複数のクラス・型のテンプレート2:12複数のクラス・型のテンプレート
6.4C++標準ライブラリの構成2:28C++標準ライブラリの構成
6.5STL: stringクラス4:41stringクラス,stringクラスのコンストラクタ
6.6STL: vectorクラス9:17vectorクラス,vectorクラスにおける例外,vectorクラスの操作
6.7STL: アルゴリズム4:54アルゴリズム:ソート,さまざまなアルゴリズム
6.8ファイル操作1:34ファイル出力

本コンテンツの学習方法

本講座は、インターネット上で学習する新しい形態の教育システムです。 すべての授業はWeb上にあり、期間内であれば、いつでも視聴することができます。

この講座で学習するサンプルプログラムは、こちらのWebページに記載されています。 プログラミング言語は座学だけでは、なかなか習得できません。ぜひ、本講座とあわせてご利用ください。

本講座では、約5時間30分という短い時間の間に、C++の持つ基本的な文法規則を説明しています。従って、短期間のうちに、C++の概要を掴み取ることが できます。

質問は受け付けておりませんが、私の大学の電子メールアドレス(uchida@inf.ie.kanagawa-u.ac.jp)には、一般の方や私の書籍の読者から多くの質問が参ります。 すべての質問に直ちに答えることはできませんが、極力解答するようにしています。常にお答えできるか分かりませんが、メールしてみてください。 なお、そのような質問は、FAQ集に登録させていただきます。

本コンテンツに対するFAQ

質問:すべてを学習するのにどのくらいの期間がかかりますか?

 e-Learningの講座の総時間は約10時間です(講義時間は5時間27分)。 毎日2時間ずつ学習すれば5日で終わる計算になりますが、実際にはそうは参りません。 できる限り、やさしく解説していますが、本講座のコンテンツを見るには初心者の場合には、約10時間程度 必要になります。さらに、プログラムを作成するなどの実習を行えば、その倍の20時間から40時間程度の学習は必要になる と考えられます。月から金まで一日2時間学習しても1ヶ月程度はかかると考えられます。その意味で1ヶ月を標準コースとしております。
 なお、実習をふんだんに行って確実にC++言語を自分のものにしたい方に対して3ヶ月コースがあります。

質問:本講座の前提知識は、どのようなものでしょう。

 基本的なC言語の知識を仮定しています。本講座の姉妹講座である 「C言語によるプログラミング 基礎編」などを 理解していれば十分です。

質問:どのような方にこの講座はお勧めですか?

 C++言語でプログラムを作成したい方です。学生の方や企業の方、あるいは教員やインストラクタの方を対象としています。 また、最近需要が急増している組み込み系の開発者の方でC++を学習する必要がある人などにもお勧めです。 C++言語は、オブジェクト指向の機能を持ち、テンプレートなどプログラミングに役立つ多くの機能を持っています。 これらを効率よく学習するには、本を読むよりも、このような講座を聞いたほうが理解が早いと私は考えています。
 企業の研修や新人研修などにも十分利用できる構成にしています。

質問:本講座でC++言語のすべてを網羅しますか?

 本講座では、短時間でC++言語の概要を理解することを目的としています。そのため、 文法の説明が中心でC++によるプログラミングについては、十分な解説がありません。 しかし、本コンテンツである程度の概要が理解できれば、市販されている数多くのC++プログラミング関係の書籍を 手軽に読めるようになるはずです。

質問:本講座では、特定のCコンパイラを仮定していますか?

 本講座は、特定のコンパイラを仮定しておりません。 ただし、実行結果は、サンプルプログラム集では、 GNU gccを仮定して、その結果を載せています。しかし、その他のコンパイラ(たとえば、 Visual C++.NETなど)でも問題なく動作します。

質問:本講座で学習したプログラムをダウンロードできますか?

 本コンテンツに対するサンプルプログラムは、サンプルプログラム集に記載されています。 この中からカットアンドペーストしていただければよろしいと思います。