2014年5月1日木曜日

開発環境

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

その他参考書籍

実習 21-4.

コード(BBEdit, Emacs)

pet.cpp

#include <iostream>
#include <string>

class pet {
private:
  std::string name;
  int age;
public:
  pet (std::string n, int a) {
    name = n;
    age = a;   
  }
  virtual void move() = 0;
};

class fish : public pet {
public:
  fish(std::string name, int age) : pet(name, age) {}
  void move() {
    std::cout << "すいすい" << std::endl;
  }
};

class dog : public pet {
public:
  dog(std::string name, int age) : pet(name, age) {}
  void move() {
    std::cout << "てくてく" << std::endl;
  }
};

int main(int argc, char *argv[])
{
  fish f("魚", 5);
  dog d("犬", 10);

  f.move();
  d.move();

  return (0);
}

Makefile

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

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

clean:
 rm pet

入出力結果(Terminal)

$ make && ./pet
g++ -g -Wall -o pet pet.cpp
すいすい
てくてく
$

0 コメント:

コメントを投稿