人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

C++言語の標準となるようなプログラムで、
(例えばC言語で言う「Hello World」(http://homepage3.nifty.com/ryuz/c/hello.html)のようなもの)
100行程度でC++ならではのいくつかの文法(クラス、コンストラクタ/デストラクタ、public/private/protect、継承、仮想関数等)が用いられているものってありますか?
出来れば、C++言語を知ってる人の8割くらいは知ってる!みたいな有名な感じのプログラム、もしくは、教育ではたいてい使われる!のようなものが希望です。
ご存知の方いらっしゃいましたら教えて下さい!

●質問者: konchan117
●カテゴリ:コンピュータ 学習・教育
✍キーワード:C++ C言語 Hello world クタ クラス
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● キチョー id:Kityo
●18ポイント

http://books.yahoo.co.jp/book_detail/18933462

Yahoo!ブックス - ストリームI/Oの謎 / マルチクリエイト技術スタッフ/著

ずれた回答だったらゴメンナサイ。

古い本で恐縮ですが、「ストリームIOの謎」を紹介します。

下記のようなC++版Hello Worldから、ストリームIOのヘッダファイルをぐいぐい読み進めて行ってしまう書物です。

この短いC++プログラムの向こう側に、C++言語の魔法(C言語に対する)の多くが駆使されていることが非常にわかり易く解説されています。


#include <iostream>


int main( void )

{

std::cout << ”Hello World.” << endl;

}


※残念ながら古い書物なので<iostream.h>のほうを読みに行ってしまうのですが。

※template、namespace辺りはこの書物の範疇外です。

◎質問者からの返答

えーっと。。。Hello Worldのプログラムを探しているわけではなく、また、書物を探しているわけでもありません^^;

修正などの手間をかけず、ちょっとしたC++の説明に使えるソースコードを探しています。

もう少し質問を続けます。

どなたかご存知でしたらお願いします。


2 ● yudain
●18ポイント

http://www.google.co.jp/search?hl=ja&q=CAnimal+CDog&lr=

Google

class CAnimal {

public:

CAnimal(void) {}

virtual ~CAnimal();


virtual void Talk(void) {}

};


class CDog : public CAnimal {

public:

virtual void Talk(void) { printf(”ワン”); }

};


class CCat : public CAnimal {

public:

virtual void Talk(void) { printf(”ニャー”); }

};


CAnimal* pDog = new CDog();

CAnimal* pCat = new CCat();


pDog->Talk();

pCat->Talk();


delete pDog;

delete pCat;


このようなCAnimal,CDogを使うサンプルは

よく見かけたと思います。特にオブジェクト

指向が流行りだした初期に多かったと思います。

◎質問者からの返答

確かにこのようなソースはよく見かけますね。

ただ、DogとCat結局クラスを2つ作っただけであって、文法的には同じですよね^^;

もっと色々な文法的なものが織り込まれているものが欲しいのですが。。。

>特にオブジェクト指向が流行りだした初期に多かったと思います。

そうですね。。。最近ではオブジェクト指向も定着してきたようですし、もうちょっと凝ったソースがあるとありがたいのですが。

質問の書き方が悪かったでしょうか??


3 ● d金魚
●17ポイント

http://www.01-tec.com/document/cpp_design_pattern.html

C++で読むデザインパターン(Design Patterns read by C++)

ちょっと難しい質問で悩みましたが、

私はC++の教育にはこの「C++で読むデザインパターン」がとても有用と感じます。

C++言語を知ってる人の8割くらいは知ってる!みたいな有名な感じのプログラムとは断言できませんが、C++を行う上でデザインパターンは避けて通れないと思います。

◎質問者からの返答

デザインパターンの中に求めるようなソースがなかったと思うのですが、見落としてますでしょうか。

全てを知っているわけではありませんが、ゆっくり見る時間もあまりないので・・・。

できればこれ!と指摘していただけるとありがたいです。


4 ● d金魚
●17ポイント

http://www.goo.ne.jp/

goo

URLはダミーです。

http://www.01-tec.com/document/cpp_design_pattern.html#Mediator

返信遅れてスミマセン。

私はこのMediatorパターンの継承版、テンプレート版両方を使用するのがイイかなと感じました。

個人的な理由としては、

クラスの独立性とまとめ役クラスを説明している事(クラスの有用性、クラスを作る上でのポリシーらしきもの、クラスに詰め込む機能の単位を知る事ができる)だと感じています。

これを参考に、private/protected系の有用性を説明するソースコードを加えれば条件を満たすかな?と思います。

有名な感じでもないし、教育ではたいてい使われるとは断言できませんが、私でしたらそのように考えます。

◎質問者からの返答

わざわざ返信ありがとうございました。

目的としては、C++を知っていることを前提に、その人の知識レベルを確かめるために用いたかったのですが、100行程度で全てを網羅するのは無理ですよね^^;

これにて質問を終了させて頂きます。

ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ