SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

特集記事

C++/CX: Windows 8 ストアアプリことはじめ

カウンタ本体の実装

 ここまではアプリケーションの外観(View)です。カウンタ本体(Model)は別プロジェクトでスタティックライブラリとして実装し、(前述の)CounterAppにリンクすることでカウンタアプリを構成しましょうか。スタティックライブラリプロジェクト:CounterLibを起こします。

 カウンタには+1する/-1する/カウント値を返すの3つの機能があればよさそうなので、ヘッダ:CounterLib.hはこんな感じ:

list02
#pragma once

namespace CounterLib {

  class Counter {
  public:
    Counter();
    void increment(); // +1する
    void decrement(); // -1する
    int get() const;  // カウント値
  private:
    int count_;
  };

}

 ヘッダに合わせてCounterLib.cppもさくさくっと書いちゃいますか。

list03
#include "pch.h"
#include "CounterLib.h"

namespace CounterLib {

  Counter::Counter() : count_(0) {}
  void Counter::increment() { ++count_; }
  void Counter::decrement() { --count_; }
  int  Counter::get() const { return count_; }

}

カウンタ本体のテスト

 あとはCounterAppとCounterLibとを擦り合わせれば完成、なんだけどここでちょっと寄り道します。CounterLibに実装したCounterが正しく動くかテストしておきましょう。はじめの一歩ですからViewもModelもいささかショボく、これしきのことにテストは要らんのでしょうけど、今後まじモンのアプリ作るためにも知っておいて損はない。CounterApp,CounterLibに加えてさらにもう一つ、単体テストプロジェクト:CounterTestを起こします。

 CounterLibが提供するクラスをテストするんだから、ヘッダとライブラリのパスを設定します。

次のページ
できあがり

この記事は参考になりましたか?

特集記事連載記事一覧

もっと読む

この記事の著者

επιστημη(エピステーメー)

C++に首まで浸かったプログラマ。Microsoft MVP, Visual C++ (2004.01~2018.06) "だった"りわんくま同盟でたまにセッションスピーカやったり中国茶淹れてにわか茶...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/7092 2013/04/30 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー