アフィリエイト広告を利用しています

広告

posted by fanblog

2017年09月23日

《その43》 関数の多重定義(p.233演習6-20,演習6-21),インライン関数(p.235演習6-22)


新版明解C++入門編 p.233 演習6-20
 二つのint型変数 a, b の最小値、三つのint型変数 a, b, c の最小値を求める、以下に示す多重定義された関数群を作成せよ。
    int min(int a, int b);
int min(int a, int b, int c);

// p233_演習6-20
#include <iostream>
using namespace std;

int min(int a, int b)
{
return a < b ? a : b;
}

int min(int a, int b, int c)
{
int min = a;
if (b < min) min = b;
if (c < min) min = c;
return min;
}

int main()
{
int x, y, z;
cout << "xの値:"; cin >> x;
cout << "yの値:"; cin >> y;
cout << "xとyの最小値は" << min(x, y) << '\n';

cout << "zの値:"; cin >> z;
cout << "x, y, zの最小値は" << min(x, y, z) << '\n';
}

b06_20.png




新版明解C++入門編 p.233 演習6-21
 short型整数xの絶対値、int型整数xの絶対値、・・・を求める、以下に示す多重定義された関数群を作成せよ。
    short absolute(short x);
int absolute(int x);
long absolute(long x);
float absolute(float x);
double absolute(double x);
long double absolute(long double x);

 プログラムがちょっと長くなってしまいますが、多重定義された関数群の中のどれが使用されたのかが分かるようにしました。
例えば、int absolute(int x) が使われた場合は、「int用の関数が使われました。」と表示されます。


// p233_演習6-21
#include <iostream>
using namespace std;

short absolute(short x) {
cout << " short "
<< "用の関数が使われました。\n 絶対値は ";
if (x < 0) x *= -1; return x;
}
int absolute(int x) {
cout << " int "
<< "用の関数が使われました。\n 絶対値は ";
if (x < 0) x *= -1; return x;
}
long absolute(long x) {
cout << " long "
<< "用の関数が使われました。\n 絶対値は ";
if (x < 0) x *= -1; return x;
}
float absolute(float x) {
cout << " float "
<< "用の関数が使われました。\n 絶対値は ";
if (x < 0) x *= -1; return x;
}
double absolute(double x) {
cout << " double "
<< "用の関数が使われました。\n 絶対値は ";
if (x < 0) x *= -1; return x;
}
long double absolute(long double x) {
cout << " long double"
<< "用の関数が使われました。\n 絶対値は ";
if (x < 0) x *= -1; return x;
}

int main()
{
cout << "@ short\n";
short a = -1234 ; cout << absolute(a) << '\n';
cout << "A int\n";
int b = -1234 ; cout << absolute(b) << '\n';
cout << "B long\n";
long c = -1234 ; cout << absolute(c) << '\n';
cout << "C float\n";
float d = -1.234; cout << absolute(d) << '\n';
cout << "D double\n";
double e = -1.234; cout << absolute(e) << '\n';
cout << "E long double\n";
long double f = -1.234; cout << absolute(f) << '\n';
}

b06_21.png




新版明解C++入門編 p.235 演習6-22
 xの2乗を求めるインライン関数、3乗を求めるインライン関数を作成せよ。
    inline double square(double x);
inline double cube(double x);

// p235_演習6-22
#include <iostream>
using namespace std;

inline double square(double x) {
return x * x;
}

inline double cube(double x) {
return x * x *x;
}

int main() {
double x;
cout << "実数値 : "; cin >> x;
cout << "2乗は " << square(x) << '\n';
cout << "3乗は " << cube(x) << '\n';
}

b06_22.png

新版 明解C 入門編 (明解シリーズ)

新品価格
¥2,916から
(2017/8/30 21:02時点)









--
この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
https://fanblogs.jp/tb/6729992
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック

 たまに、クリック お願いします m(_ _)m

 AA にほんブログ村 IT技術ブログ C/C++へ

こうすけ:メール kousuke_cpp@outlook.jp

【1】★★C++ 記事目次★★ ← 利用可能です。
・新版明解C++入門編 / 新版明解C++中級編
・その他 C++ 関連記事

【2】★★こうすけ@C#★★
・C# の初歩的な記事


検索
<< 2018年08月 >>
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
プロフィール
こうすけさんの画像
こうすけ

 たまに、クリック お願いします m(_ _)m

 AA にほんブログ村 IT技術ブログ C/C++へ

こうすけ:メール kousuke_cpp@outlook.jp

【1】★★C++ 記事目次★★ ← 利用可能です。
・新版明解C++入門編 / 新版明解C++中級編
・その他 C++ 関連記事

【2】★★こうすけ@C#★★
・C# の初歩的な記事


×

この広告は30日以上新しい記事の更新がないブログに表示されております。