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

広告

posted by fanblog

2017年12月21日

《その192》 仮想関数の利用( 単純な例 ;^ω^A )


 自分でちょっと確認したいことがあって作ったプログラムです。仮想関数が、クラスオブジェクトの動的な型に応じて動作する単純なプログラムです。
※ 派生クラスの中の基底クラス部分オブジェクトへのアクセス(name, tool へのアクセス)について、自分がチェックしてみたいことがあって作ったプログラムです。


// ------------------------------------
#include <string>
#include <iostream>
using namespace std;

class Man0 {
string name;
string tool;
public:
Man0(string na, string tl = "ハサミ")
: name(na), tool(tl) { }

string get_name() { return name; }

string get_tool() { return tool; }

void set_tool(string s) { tool = s; }

virtual void hello() { cout << "こんにちは。"; }

void my_name() {
cout << "私は" << name << "です。";
}

virtual void func() {
cout << tool << "を持っています。\n";
}
};

class Man1 : public Man0 {
string tool;
public:
Man1(string na, string tl = "定規")
: Man0(na), tool(tl) { }

void set_tool(string s, string s2) {
Man0::set_tool(s); tool = s2;
}

void hello() { cout << "よろしくね。"; }

void func() {
cout << get_tool() << "と"
<< tool << "を持っているよ。\n";
}
};

void statement(Man0& x) {
x.hello();
x.my_name();
x.func();
}

int main() {
Man0 tanaka("田中");
Man1 nakada("中田");

statement(tanaka);
statement(nakada);
cout << '\n';

tanaka.set_tool("画用紙");
nakada.set_tool("クレヨン", "鉛筆");

statement(tanaka);
statement(nakada);
}
// ------------------------------------

f05_0031.png


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

新品価格
¥2,916から
(2017/11/10 13:13時点)

新版 明解C 中級編 (明解シリーズ)

新品価格
¥2,916から
(2017/11/10 13:14時点)





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

お名前:

メールアドレス:


ホームページアドレス:

コメント:

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

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

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

 たまに、クリック お願いします 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日以上新しい記事の更新がないブログに表示されております。