variable.hpp

来自「深入浅出设计模式(书配套c++源代码)。包含20个设计模式的c++实现。」· HPP 代码 · 共 48 行

HPP
48
字号
#ifndef	_HFDP_CPP_INTERPRETER_MINI_DUCK_SIMULATOR_VARIABLE_HPP_
#define _HFDP_CPP_INTERPRETER_MINI_DUCK_SIMULATOR_VARIABLE_HPP_

#include "MiniDuckSimulator.hpp"
#include <process.h>

namespace HeadFirstDesignPatterns {
namespace Interpreter {
namespace MiniDuckSimulator {

class Variable {

	private: const std::string _name;
	private: int _value;

	public: explicit Variable( const std::string name ) :
		_name( name ), _value( -1 ) {
		srand( _getpid() );	// seed random-number generation with unique value
	};
	public: std::string name() const {
		return _name;
	}
	// return a boolean result based on a random number to simulate processing;
	// however, initial evaluation returns true so 'while' statements execute
	// at least one time.
	public: bool evaluate() {
		std::cout << "evaluating (" << _name.c_str() << ")...";

		if( 0 > _value )	// initial evaluation, so...
			_value = 1;		// indicate 'true'
		else
			_value = ( rand() % 100 ) % 3;

		if( 0 == _value ) {
			std::cout << "'false'" << std::endl;
			return false;
		} else {
			std::cout << "'true'" << std::endl;
			return true;
		}
	}
};

} // namespace MiniDuckSimulator
} // namespace Interpreter
} // namespace HeadFirstDesignPatterns

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?