如果你看看我的功能CardCompare在课堂内...它不起作用!但是,如果我改为使用Hand.cpp中注释掉的函数,它的工作原理非常好.为什么是这样?
另外,我想知道如果可能的话,将CardCompare函数保留在我的手类中比将它保留在Card类中更没意义.
Hand.h
#ifndef HAND_H
#define HAND_H
#include <vector>
#include "Card.h"
class Hand {
private:
std::vector<Card> hand;
int total;
void CalculateTotal();
bool CardCompare (Card i, Card j) {return ( i.RankInt() < j.RankInt() ); }//Does not work! :O
public:
Hand() {
total = 0;
}
std::vector<Card> GetHand() const{ return hand;};
void PrintHand();
void AddToHand(Card c);
};
#endif
Run Code Online (Sandbox Code Playgroud)
Hand.cpp
#include "Hand.h"
#include <iostream>
#include <algorithm>
void Hand::CalculateTotal() {
for (int i = 0; i < hand.size(); i++) {
std::cout << hand[i].ToString() << …Run Code Online (Sandbox Code Playgroud) c++ ×1