2014年5月2日金曜日

開発環境

C++実践プログラミング (スティーブ オウアルライン (著)、Steve Oualline (原著)、Steve Oualline(原著)、望月 康司(翻訳)、クイープ(翻訳) 、オライリー・ジャパン)のⅣ部(高度なプログラミング概念)の21章(高度なクラス)、21.8(プログラミング実習)、実習 21-5.を解いてみる。

その他参考書籍

実習 21-5.

コード(BBEdit, Emacs)

number.cpp

#include <iostream>

class number {
protected:
  int data;
public:
  number (int n) {
    data = n;
  }
  virtual ~number() {}
  virtual void print_it() = 0;
};

class hex : public number{
public:
  hex(int n) : number(n) {}
  void print_it() {
    std::cout << std::hex << data;
  }
};

class oct : public number {
public:
  oct(int n) : number(n) {}
  void print_it() {
    std::cout << std::oct << data;
  }
};

class dec : public number {
public:
  dec(int n) : number(n) {}
  void print_it() {
    std::cout << std::dec << data;
  }
};

int main(int argc, char *argv[])
{
  hex h(255);
  oct o(255);
  dec d (255);

  h.print_it();
  std::cout << std::endl;
  o.print_it();
  std::cout << std::endl;
  d.print_it();
  std::cout << std::endl;

  return (0);
}

Makefile

CC=g++
CFLAGS=-g -Wall
all: number

number: number.cpp
 ${CC} ${CFLAGS} -o number number.cpp

clean:
 rm number

入出力結果(Terminal)

$ make && ./number
g++ -g -Wall -o number number.cpp
ff
377
255
$

0 コメント:

コメントを投稿