将对象作为参数,以评估方法

Passing object as argument, for function to evaluate method

本文关键字:评估 方法 参数 对象      更新时间:2023-10-16

我正在使用Microsoft Visual Studios。

我正在尝试模仿我在Java中使用的过程,但是很难。

我希望能够将对象的名称从类中传递到作为其参数的函数中。然后使该函数评估对象传递的对象中方法的值。

该程序适用于模拟的旧学校口香糖分配机器。

编辑#2:

好的,通过并重新编辑了代码。现在,我收到了一条巨大的错误消息,但它仅在一个部分...

代码:

//Vintage Gum Vending Machine (A4)
#include <iostream>
#include <math.h>
using namespace std;
//input select
char input;
 //gum stock

class Gum {
public:
  Gum(string Name, int Stock) {
        Name = name;
        Stock = stock;
  };

  int stock;
  string name;
};

Gum Beemans  ("Beemans",10);        
Gum Dentyne  ("Dentyne", 10);       
Gum Chiclets ("Chiclets", 10); 
Gum Carefree ("Carefree", 10); 

//Main Welcome Menu 
void welcomeMenu();
//coin queue of deposited quarters
float Queue = 0.00;
//coin deposit quarter drop
void dropQuarter();
//Tab pulled function
void pulltab(Gum& gum);
//Money in the Machine
float Vault = 0.00;
//Empty deposit queue into vault
void resetQueue();
//restock machine
void restock();


int main()
{
welcomeMenu();
do 
{ 
    //take menu choice
    cin >> input;
    switch (input)
    {
        case 's' :  cout << "Stock Status:  " <<endl
                         << "1: Beemans: " << Beemans.stock  <<endl
                         << "2: Dentyne: " << Dentyne.stock  <<endl
                         << "3: Chiclets: "<< Chiclets.stock <<endl
                         << "4: Carefree: "<< Carefree.stock <<endl
                         << "There is $" << Vault << " in the machine" <<endl;
            break;
        case 'd' :  cout << "You drop in a quarter n Clink " <<endl;
                    dropQuarter();
            break;
        case '1' :  cout << "You reach for the 1st tab and" <<endl;
                    pulltab(Beemans);
            break;
        case '2' :  cout << "You reach for the 2nd tab and" <<endl;
                    pulltab(Dentyne);
            break;
        case '3' :  cout << "You reach for the 3rd tab and" <<endl;
                    pulltab(Chiclets);
            break;
        case '4' :  cout << "You reach for the 4th tab and" <<endl;
                    pulltab(Carefree);
            break;
        case 'r' :  cout << "You call the store clerk to restock the machine " <<endl;
            break;
        case 'q' :  cout << "quiting program " <<endl;
            break;
        default  :  cout << "Please select a choice from the menu" <<endl;
                    welcomeMenu();
                    cout << "Please select a choice from the menu" <<endl;
            break;
    }
} while (input != 'q');



return 0;
};

void welcomeMenu() 
{
cout << "s - view stock status " <<endl;
cout << "d - drop in a quarter " <<endl;
cout << "1 - pull 1st tab " <<endl;
cout << "2 - pull 2nd tab " <<endl;
cout << "3 - pull 3rd tab " <<endl;
cout << "4 - pull 4th tab " <<endl;
cout << "r - restock the machine " <<endl;
cout << "q - quit " <<endl;
cout << "(make your selection then press enter)"<<endl;
};
void dropQuarter(){
Queue += 0.25;
};
void pulltab(Gum& gum){

if(gum.stock >=1 && Queue>=0.75){
    cout<< "pull the tab out." << endl
        << "The machine dispenses a pack of " << gum.name << "." <<endl
        << "After taking the pack of gum, you push the tab back in." <<endl;
    gum.stock -= 1; 
    resetQueue();
}
else if(gum.stock==0 && Queue>=0.75){
    cout<< "pull the tab out." <<endl
        << "But no " << gum.name << "comes out of the slot..." <<endl
        << "(Hint: did you check to see if the gum was in stock before depositing your money in this simulated 1960s gum machine?)" <<endl;
        resetQueue();
}else if(Queue<0.75) {
    cout << "pull on the tab, but it doesn't budge..."<<endl
         << "(Hint: Gum costs 75 ¢ ... have you dropped in at least 3 quarters?)" <<endl;
}
};
void resetQueue(){
Vault += Queue;
Queue = 0.00;
};

错误(对不起,它太大了):

 1>------ Build started: Project: Assignment 4, Configuration: Debug Win32 ------
1>  Assignment 4.cpp
1>c:usersmarkdesktopacademiccsassignment4assignment4assignment 4.cpp(146): error C2679: binary '<<' : no operator found which takes a right-hand operand of type 'std::string' (or there is no acceptable conversion)
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(695): could be 'std::basic_ostream<_Elem,_Traits> &std::operator <<<char,std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const char *)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(742): or       'std::basic_ostream<_Elem,_Traits> &std::operator <<<char,std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,char)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(780): or       'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const char *)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>           ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(827): or       'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,char)'
1>          with
1>           [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(953): or       'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const signed char *)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(960): or       'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,signed char)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(967): or       'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const unsigned char *)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(974): or       'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,unsigned char)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(984): or       'std::basic_ostream<_Elem,_Traits> &std::operator <<<char,std::char_traits<char>,std::string>(std::basic_ostream<_Elem,_Traits> &&,const _Ty &)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>,
1>              _Ty=std::string
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(1101): or       'std::basic_ostream<_Elem,_Traits> &std::operator <<<char,std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const std::error_code &)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>           ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(201): or       'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::basic_ostream<_Elem,_Traits> &(__cdecl *)(std::basic_ostream<_Elem,_Traits> &))'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(207): or       'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::basic_ios<_Elem,_Traits> &(__cdecl *)(std::basic_ios<_Elem,_Traits> &))'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(214): or       'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::ios_base &(__cdecl *)(std::ios_base &))'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(221): or       'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::_Bool)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(241): or       'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(short)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(275): or       'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(unsigned short)'
1>          with
1>            [
1>              _Elem=char,
1>               _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(295): or       'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(int)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(320): or       'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(unsigned int)'
1>          with
1>          [
1>               _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(340): or       'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(long)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(360): or       'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(unsigned long)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(381): or       'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(__int64)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(401): or       'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(unsigned __int64)'
 1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(422): or       'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(float)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(442): or       'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(double)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio  11.0vcincludeostream(462): or       'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(long double)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>           ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(482): or       'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(const void *)'
1>          with
1>          [
1>                _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(502): or       'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::basic_streambuf<_Elem,_Traits> *)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          while trying to match the argument list '(std::basic_ostream<_Elem,_Traits>, std::string)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>c:usersmarkdesktopacademiccsassignment4assignment4assignment 4.cpp(153): error C2679: binary '<<' : no operator found which takes a right-hand operand of type 'std::string' (or there is no acceptable conversion)
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(695): could be 'std::basic_ostream<_Elem,_Traits> &std::operator <<<char,std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const char *)'
1>          with
1>           [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(742): or       'std::basic_ostream<_Elem,_Traits> &std::operator <<<char,std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,char)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(780): or       'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const char *)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(827): or       'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,char)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(953): or       'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const signed char *)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(960): or       'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,signed char)'
 1>          with
 1>          [
 1>              _Elem=char,
 1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(967): or       'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const unsigned char *)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(974): or       'std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,unsigned char)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(984): or       'std::basic_ostream<_Elem,_Traits> &std::operator <<<char,std::char_traits<char>,std::string>(std::basic_ostream<_Elem,_Traits> &&,const _Ty &)'
 1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>,
1>              _Ty=std::string
1>          ]
 1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(1101): or       'std::basic_ostream<_Elem,_Traits> &std::operator <<<char,std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const std::error_code &)'
1>          with
1>          [
1>              _Elem=char,
 1>              _Traits=std::char_traits<char>
 1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(201): or       'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::basic_ostream<_Elem,_Traits> &(__cdecl *)(std::basic_ostream<_Elem,_Traits> &))'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(207): or       'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::basic_ios<_Elem,_Traits> &(__cdecl *)(std::basic_ios<_Elem,_Traits> &))'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(214): or       'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::ios_base &(__cdecl *)(std::ios_base &))'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(221): or       'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::_Bool)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(241): or       'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(short)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(275): or       'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(unsigned short)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(295): or       'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(int)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(320): or       'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(unsigned int)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(340): or       'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(long)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(360): or       'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(unsigned long)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(381): or       'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(__int64)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(401): or       'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(unsigned __int64)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(422): or       'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(float)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(442): or       'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(double)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(462): or       'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(long double)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(482): or       'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(const void *)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          c:program files (x86)microsoft visual studio 11.0vcincludeostream(502): or       'std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::basic_streambuf<_Elem,_Traits> *)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
1>          while trying to match the argument list '(std::basic_ostream<_Elem,_Traits>, std::string)'
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

首先,pulltab将指针指向对象,您将其称为不一致。Beemans和其他口香糖指针应在没有 *或&amp;的情况下传递给该功能。这样称呼它,您也有内存泄漏。在C 中,您需要删除使用New创建的对象。如果我是你,我不会打扰新的关键字。只要这样做,

现在,如果您接受我的建议,则应将" ->"更改为'。用于调用功能。

// Tab pulled function - fixed prototype to use pass by reference
// Do the same in the implementation
void pulltab(Gum& theGum);
// create objects like this.  You can leave it global or do it in the body of main
Gum Beemans("Beemans",10);
// call it like this
pulltab(Beemans); 
// Invoke functions and access attributes like this
if(gum.stock >= 1 && Queue >= 0.75){ // body of block }

这是基础。从Java到C 处理指针,一开始似乎很奇怪,因此尽可能多地避免使用。尽可能使用参考,智能指针和容器。

您应该得到此错误:

错误:太多的论点无法函数'void pulltab()'

您需要这样声明原型:

//Tab pulled function
void pulltab(Gum *gum);

现在,您应该有一个错误:

错误:无法将"口香糖"转换为"口香糖*",以" 1"为" void pulltab(gum*)"

'

由于您将指向Gum的指针如下:Gum *Beemans = new Gum("Beemans",10);,因此您需要通过这样的参数:pulltab(Beemans);。对其他呼叫(没有&)做同样的事情。

之后,您将收到以下错误:

错误:"操作员&lt;&lt;’无匹配(操作数类型为'std :: basic_ostream’和'') &lt;&lt;"机器分配一包"&lt;&lt;口香糖 -> getName&lt;&lt;"。"&lt;&lt;endl

您忘记了括号。您应该以这样的方式调用类成员功能:gum->getName()

这应该对您有帮助。