C++言語の標準となるようなプログラムで、

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

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/02/27 17:19:32
  • 終了:--

回答(4件)

id:Kityo No.1

キチョー id:Kityo回答回数159ベストアンサー獲得回数122006/02/28 01:18:27

ポイント18pt

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辺りはこの書物の範疇外です。

id:konchan117

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

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

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

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

2006/02/28 10:13:16
id:yudain No.2

yudain回答回数1ベストアンサー獲得回数02006/02/28 21:40:01

ポイント18pt

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を使うサンプルは

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

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

id:konchan117

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

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

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

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

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

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

2006/03/01 09:42:43
id:studiokingyo No.3

d金魚回答回数47ベストアンサー獲得回数22006/02/28 23:24:14

ポイント17pt

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

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

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

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

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

id:konchan117

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

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

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

2006/03/01 09:54:23
id:studiokingyo No.4

d金魚回答回数47ベストアンサー獲得回数22006/03/05 22:20:30

ポイント17pt

URLはダミーです。

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

返信遅れてスミマセン。

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

個人的な理由としては、

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

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

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

id:konchan117

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

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

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

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

2006/03/06 10:03:24

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません