All pastes #506688 Raw Edit

Anonymous

public cpp v1 · immutable
·published 2007-05-24 03:48 UTC
rendered paste body
#include "test.h"#include <iostream>account::account(lua_State *vm){	if (lua_isnumber(vm, 0))	{		balance = lua_tonumber(vm, 0);		std::cout << "Account balance: $" << balance << "." << std::endl;	}	else	{		std::cout << "ERROR:  Could not create account!" << std::endl;	}}int account::withdraw(lua_State *vm){	int withdrawAmount = 0;	if (lua_isnumber(vm, 0))	{		withdrawAmount = lua_tonumber(vm, 0);		balance -= withdrawAmount;		std::cout << "$" << withdrawAmount << " withdrawn." << std::endl;		if (balance < 0)		{			std::cout << "WARNING:  Over withdrawn!" << std::endl;		}	}	else	{		std::cout << "Could not make withdraw!" << std::endl;	}	return 0;}int account::deposit(lua_State *vm){	double depositAmount = 0;	if (lua_isnumber(vm,0))	{		depositAmount = lua_tonumber(vm, 0);		balance += depositAmount;		std::cout << "$" << depositAmount << " deposited." << std::endl;	}	return 0;}int account::getBalance(lua_State *vm){	lua_pushnumber(vm, balance);	return 1;}int account::printBalance(lua_State *vm){	std::cout << "Current balance: $" << balance << "." << std::endl;	return 0;}	const char account::className[] = "account";#define method(class, name) {#name, &class::name}Lunar<account>::RegType account::methods[] = {	method(account, withdraw),	method(account, deposit),	method(account, getBalance),	method(account, printBalance),	{0,0}};