使用引用或指针来执行存款方法?

时间:2013-11-29 16:26:54

标签: c++ pointers reference

我无法理解传递引用和指针。我已经在脑子里经历了这么多次,但似乎无法点击它,我认为这是我需要在这里使用,实际修改Account对象中的值。

是否有任何可靠的简单方法来理解它们?它们将如何应用于这个相当简单的场景?

主要代码:

if (transactionMenuChoice == 2)
{
cout << "________________________________________________" << endl;
cout << "//TRANSACTION MENU - WITHDRAWAL" << endl;
cout << "//CURRENT CUSTOMER: " << allCustomers.at(customerIndex).getName() << endl;
cout << "//CURRENT ACCOUNT: " << allCustomers.at(customerIndex).getAccounts().at(accountIndex).getAccountNum() << " (" << allCustomers.at(customerIndex).getAccounts().at(accountIndex).getType() << ")" << endl;
cout << "||Withdraw how much?" << endl;
cout << "||£" << endl;

int d;
cin >> d;   

allCustomers.at(customerIndex).getAccounts().at(accountIndex).removeFromBalance(d);
}

来自我的Account.cpp:

void Account::removeFromBalance(double d) 
{
    balance -= d;
}

1 个答案:

答案 0 :(得分:0)

也许您指的是值引用和指针引用之间的区别?指针是事物的地址,而不是事物本身。您的地址是邮箱的“指针”,但不是邮箱本身。在你的removeFromBalance函数中,你通过值传递'd'(而不是指针)。 C ++对象语法有时会使水变得混乱,因为你会看到'。'在实际(当你有一个对象时)和' - &gt;'上调用成员函数的表示法当你有一个指向对象的指针时,用于调用成员函数的表示法。