- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
情報工学演習I第10回
C++の演習2(クラスの継承)
授業の予定(後半)
#
月日
内容
担当者
7
11月13日
C言語の演習4
(ポインタの演算,列挙型)
内海
8
11月20日
C言語の演習課題
内海
9
11月27日
C++の演習1(クラス)
岩村
10
12月 4日
C++の演習2(クラスの継承)
岩村
(代理:谷川)
11
12月11日
C++の演習3(仮想関数)
岩村
12
12月18日
C++の演習4(インライン展開)
岩村
13
1月 8日
C++の演習5
(関数のオーバロード)
岩村
14
1月15日
C++の演習課題
谷川
15
1月22日
総合演習
谷川
2
参考書(追加)
参考書
(D)「新版 明解C++ 入門編」
柴田 望洋 (著)
3
先週紹介しましたが、継承が入っていないので、お勧めできないと思いました
今日の内容
第7回演習課題の解説
クラスの継承
newとdelete
配列の動的メモリ確保
オブジェクトのメモリ確保
コンストラクタ、デストラクタ
4
第7回演習課題の解説
5
第7回演習課題(1)
0から99までの値をとる乱数を1000個発生させ,発生した乱数の0から99までの頻度を計算し,出力するプログラムを作成せよ.頻度の計算は要素が100個ある配列を使って行うこと.また,配列の値の変更は,ポインタ演算をして行うこと.
頻度:0が2回,1が2回出現
配列を用意して,乱数の値に応じて頻度を計算
配列のアクセスの方法
× hist[ r ]++;
〇 (*(hist + r ))++; など, []演算子を使わない
6
第7回演習課題(2)
授業支援システムにあるtext.txt をダウンロードし,このテキストファイルから整数のデータを読みこんで動的に確保したメモリに格納し,値の平均,分散,中央値,最頻値を求めるプログラムを作成せよ.ファイルの形式は,はじめの1行目に整数の数が書かれており,次の行以降は空白区切りの整数のデータが列挙されている.
text.txt の1行目の値を読み込む
1行目の値をもとにメモリをmalloc で確保し,値を読み込む
平均値などの計算は第5回演習課題の課題2の関数を利用
7
第7回演習課題(3)
曜日を列挙型で表現し,switch 文を使って列挙型の曜日ごとに,自己の時間割を示すプログラムを作成せよ.
enum 型で曜日を以下のように定義
enum week { sunday, monday, tuesday, wednesday, thursday, friday, saturday };
enum 型変数を分岐の式として利用
8
第7回演習課題(4)
3次多項式 を
の形に因数分解したときのa, b, c の
値を計算し,出力するプログラムを作成せよ.
ただし0abc とし,a, b, c は整数となる.
3次多項式が0 になるx がa, b, c となる
x=1, 2,… と代入し,3次多項式が0 になるx を小さいものからa, b, c とすればよい
9
クラスの継承
10
電卓プログラムの作成
以下では、電卓の振る舞いをするクラスを作って、電卓を実現
加減算対応型計算機(ex6_calculator1.cc)
クラスCalculator1を定義
足し算と引き算に対応
数値のクリアができる
現在の値を返すことができる
四則演算対応型計算機(ex7_calculator2.cc)
クラスCalculator2を定義
クラスCalculator1の機能に加えて、かけ算と割り算に対応
11
クラスの継承
クラスの継承とは
既存のクラスの機能を引き継ぎ、一部のみを変更できる機能
新しいデータメンバの追加
新しいメンバ関数の追加
既存のデータメンバの上書き
既存のメンバ関数の上書き
メリット
過去に作ったクラスのインタフェース(関数の引数、戻り値の仕様)を変更することなく、機能を追加できる
12
プログラムの変更を最小限にできる
クラスの継承とは
用語
基本クラス
継承されるクラス(この例ではCalculator1)
派生クラス
継承するクラス(この例ではCalculator2)
13
計算機(加減算のみ)
#include iostream
using namespace std;
class Calculator1 {
private:
double val; // 計算機内部で記憶している値
public:
Calculator1() { // コンストラクタ
clear(); // 値のクリア
}
14
ex6_calculator1.cc
void clear() {
您可能关注的文档
- 异域、故土与风俗民情中的记忆抒情.ppt
- 応募者氏の採用判定.ppt
- 院医疗医药代表蓝色大气动态PPT.ppt
- 云计算世界-云计算资料和交流中心.ppt
- 早稲田大学未来エネルギー講演会理工の各分野と原子力産業..ppt
- 增值税税率调整相关政策解析.ppt
- 真空中における電界電子放出箇所の分布測定と局所電界電子..ppt
- 正規表現のオートマトンへの変換osakasandaiac.jp.ppt
- 直接原価計算BIGLOBE.ppt
- 中文SVG檔案製作利用線上文字產生器.ppt
- 国开景区管理作业2试题及答案.pdf
- 国开景区管理作业1-4试题及答案.pdf
- 河南开放大学本科《地域文化(本)》作业练习1-3试题及答案.pdf
- 2024年大型游乐设施操作证考试题库及答案很全.pdf
- 2024年门座式起重机司机考试题库及答案.pdf
- 2022-2023学年河北省衡水市武强中学高二(下)期末数学试卷【答案版】.docx
- 2022-2023学年河北省保定市崇德实验中学高二(下)期末数学试卷【答案版】.docx
- 江西省2017年中小学教师招聘考试高中化学试卷及答案.docx
- 2024年河北省八年级中考生物真题(解析版).docx
- 2024年南阳市社会保险中心(唐河县企业养老保险分中心)(参公)一级科员招录1人《行政职业能力测验》高频考点、难点(答案详解版).docx
文档评论(0)