package CheckingAccount;
use strict;
use warnings;
use base 'BankAccount';
use Carp;

sub new {
   my $class = shift;
   my ($name, $acct, $bal, $checks) = @_;

   my $self = $class->SUPER::new($name, $acct, $bal);

   $self->{checks} = $checks;
   return $self;
}

sub write_check {
   my $self = shift;
   if ($self->{checks} == 0) {
      carp "Cannot write a check, no checks available";
      return -1;
   }

   my $amt = shift;
   $self->withdraw($amt);
   $self->{checks}--;
}

sub order_checks {
   my $self = shift;
   my $checks = shift;

   $self->{checks} += $checks;
}

1;
