- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
知觉情报处理
情報工学演習I第11回
C++の演習3(関数のオーバロード)
順番を入れ替えました
授業の予定(後半)
#
月日
内容
担当者
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
今日の内容
第8回演習課題の解説
関数のオーバロード
デフォルト引数
コピーコンストラクタ
3
第8回演習課題の解説
4
第8回演習課題解説(1)
2から1000までの整数のうち,素数のみを表示するプログラムを作れ
素数とは?
1 と自分自身以外に正の約数を持たない、1 でない自然数(正の整数)のこと
N が素数である
2,3,…,N でN を割ったとき、N のみで割り切れる
5
第8回演習課題解説(2)
キーボードから入力された整数が素数である場合,素数であることを出力するプログラムを作れ.
素数の判別方法は課題1と同じ
キーボード入力された整数を利用
キーボード入力された整数を変数に代入する関数
scanf( “%d”, n );
6
を忘れないように
第8回演習課題解説(3)
char型の2次元配列を以下のように初期化する.
char moji[][256]={ “king”, “kind”, “kinder”, “kindergarten”};
このとき,これらの文字列を辞書に出てくる順にソートし,出力せよ.ただし,ソートのアルゴリズムを用いてソートすること.
ソートは第2回演習課題−3のものを利用
文字列を比較する関数strcmp の利用
int strcmp(const char *s1, const char *s2);
s1==s2: 0
s1 s2(s1 の方が後に辞書に出てくる):正の値
s1 s2(s2 の方が後に辞書に出てくる):負の値
7
第8回演習課題解説(4)
クラスにN人の人がいて,クラス内に同じ誕生日の人が2人以上いる確率を求め,N が何人よりも大きくなると,その確率が50%以上になるか求めるプログラムを作れ.
(求める確率)
=1−(N人のクラス内に同じ誕生日の人がいない確率)
N人のクラス内に同じ誕生日の人がいない確率
N=2,3,…と計算し、求める確率が50%以上になるまで続ける
23人以上で50%以上となる
8
関数のオーバロード
9
関数のオーバーロード
#include iostream
using namespace std;
unsigned int hiku(unsigned int x, unsigned int y) {
return x-y;
}
int hiku(int x, int y) {
return x-y;
}
10
int main() {
unsigned int a=60;
unsigned int b=200;
cout In case of unsigned int: hiku(a, b) endl;
cout In case of int: hiku((int)a, (int)b) endl;
return 0;
}
ex12_overload.cc
unsigned int型
int型の定義
unsigned int型の呼び出し
int型の呼び出し
関数のオーバーロード
C++では、同じ名前を持つ関数を複数定義できるようになった
C言語の場合は、同じ名前の関数を定義すると怒られる
11
unsigned int hiku(unsigned int x, unsigned int y) {
int hiku(int x, int y) {
引数で区別
関数のオーバーロード
ex3_w_class2.cc に出てきたコンストラクタとデフォルトコンストラクタも関数のオーバーロード
12
// デフォルトコンストラクタの例
Account() {
}
// コンストラクタ
Account(string _name, int _balance) {
name = _name; // 名前を初期化
balance = _balance; // 残高を初期化
}
デフォルト引数
13
球の体積の計算
#include iostream
#include
文档评论(0)