Sponsored Content
Full Discussion: C++ Edit code
Top Forums Programming C++ Edit code Post 302766189 by Corona688 on Monday 4th of February 2013 10:36:28 AM
Old 02-04-2013
I see no point giving a different class to each kind of card when it could just as easily be done using a class variable. Adds so much extra code and complication to a simple problem. But as a teaching example, I suppose:

Code:
enum suit { HEART, CLUB, DIAMOND, SPADE, NONE };

class card
{
public:
        card(const char *_name, int _suit):name(_name), suit(_suit) { }

        const char *Name() { return(name); }
        int Suit() { return(suit); }
        // Has to be virtual if we want it to be overloaded
        virtual bool FaceCard() { return(false); }
private:
        const char *name;
        int suit;
};

class facecard
{
public:
        facecard(const char *_name, int _suit):card(_name,_suit) { }
        // Virtual, so this overloads the one in 'card'
        virtual bool FaceCard() { return(true); }
};

class deck
{
public:
        add(card *c) { cards.push_back(c); }
        card *pick(void) { cards.pop_back(); }
        void shuffle(int shuffled=1250)
        {
          int i, j, x;
          card *temp;
          for (x = 0; x < shuffled ; x++) // A big shuffle
          {
              for (i = 0; i < deck.size(); i++)
              {
                  j=rand() % 52;
                  temp = deck[i];
                  deck[i] = deck[j];
                  deck[j] = temp;
              }
          }
        }
private:
    vector<card *> cards;
};

int main(void)
{
        deck d;
        d.add(new facecard("King", CLUB));
}

 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

edit crontab without -e

hi i need to change crontab settings as minute,hour,day of month,month year,day of week certain times. for that i need to go as crontab -e. i want to avoid that as its creating many problems in mysystem. so here i m planning/trying to write a script that will update the settings in crontab... (8 Replies)
Discussion started by: d_swapneel14
8 Replies

2. UNIX for Dummies Questions & Answers

Edit Crontab

Hi I am new to Unix and would like some assistance. I need to edit the crontab file so that a script is set to run at 3:00 am each day. When I telnet to the sun server and type crontab -e a black screen appears and I am unable to make any changes. Could you advice on what is needed to... (11 Replies)
Discussion started by: juliet
11 Replies

3. Solaris

how to edit /etc/vfstab

I created a file system earth in /earthpool (zpool). I mounted the file system on a directory /earth. But, when I reboot my machine it doesn't load the file systems and the zpool and zfs shows no pools available and no datasets respectively. I am using Solaris 10 running on X4500. Could you... (5 Replies)
Discussion started by: bharu_sri
5 Replies

4. Linux

Edit Grub? help!

Please help! I have installed 5 Linux OS in the following order: 1st : OpenSUSE 11.0 2nd : Ubuntu 8.4 3rd : Ubuntu 8.10 4th : OpenSUSE 11.1 5th : Fedora 10 Here is the scenario, at the 4th installation i can still choose which OS to boot as what OpenSUSE grub displays. Now, after... (3 Replies)
Discussion started by: etcpasswd
3 Replies

5. Infrastructure Monitoring

snmp,how to edit code generated by mib2c?

Hi, I'm reading net-snmp site, using C language and unix environment, I have manager ( do get/set command), agent and server ... I'm trying to monitor cpu, memory and disk usage and get Ip address of server and send the value back to agent, stored in variable which enable manager to gets the... (1 Reply)
Discussion started by: zainab
1 Replies

6. Shell Programming and Scripting

Script to Check & Edit Content of a file (Addition of comma in each lines of code)

Hi all, I need to write an automated bash shell script which performs such operations: 1. Grep the header of everyline with the initial of "T" in "FILE_A" 2. Perform a for loop, Count the numbers of comma in the line of code, if (no. of comma < 17) ADD the comma until 17; ... (2 Replies)
Discussion started by: big_nutz
2 Replies

7. Shell Programming and Scripting

Plus edit and edit header

Dear Masters, i have a problem with unix script, till now i just know about how to create header. i want to change file below -63395.2 72653.5 -63361.3 72696.0 ... (9 Replies)
Discussion started by: ipatah
9 Replies

8. Programming

Are there any C code r instruction to see where is the creation or last edit for the file

Are there any C or termina instructin code or instruction to see where is the creation or last edit for the file (1 Reply)
Discussion started by: fwrlfo
1 Replies

9. Web Development

Want to edit a sh file using php code

Hi friends, I want to edit sh file using php, i have tried different method. but its shows permission issues. Folder path : xyz permission :0755 owner: 545 group: 0 filename : abc.sh permission :0644 owner:0 group: 0 how to edit these files using php/ i have use below codes, but... (3 Replies)
Discussion started by: sanjay833i
3 Replies
is(n)								    [incr Tcl]								     is(n)

__________________________________________________________________________________________________________________________________________________

NAME
is - test argument to see if it is a class or an object SYNOPSIS
itcl::is option ?arg arg ...? _________________________________________________________________ DESCRIPTION
The is command is used to check if the argument given is a class or an object; depending on the option given. If the argument if a class or object, then 1 is returned. Otherwise, 0 is returned. The is command also recognizes the commands wrapped in the itcl code command. The option argument determines what action is carried out by the command. The legal options (which may be abbreviated) are: is class command Returns 1 if command is a class, and returns 0 otherwise. The fully qualified name of the class needs to be given as the command argument. So, if a class resides in a namespace, then the namespace needs to be specified as well. So, if a class C resides in a namespace N, then the command should be called like: is N::C or is ::N::C is object ?-class className? command Returns 1 if command is an object, and returns 0 otherwise. If the optional "-class" parameter is specified, then the command will be checked within the context of the class given. Note that className has to exist. If not, then an error will be given. So, if className is uncertain to be a class, then the programmer will need to check it's existance beforehand, or wrap it in a catch statement. So, if c is an object in the class C, in namespace N then these are the possibilities (all return 1): set obj [N::C c] itcl::is object N::c itcl::is object c itcl::is object $obj itcl::is object [itcl::code c] KEYWORDS
class, object itcl 3.3 is(n)
All times are GMT -4. The time now is 05:18 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy