將整數轉換爲vector,它在Custothe類中的語法是什麼?類中的STL向量訪問push
class Customer {
vector <int> loyalID;
}
int main {
Customer customer;
vector<Customer>customers;
customers.push_back(/*some integers to go into loyalID vector*/);
}
將整數轉換爲vector,它在Custothe類中的語法是什麼?類中的STL向量訪問push
class Customer {
vector <int> loyalID;
}
int main {
Customer customer;
vector<Customer>customers;
customers.push_back(/*some integers to go into loyalID vector*/);
}
loyalID
是Customer
的私人領域。無論是把它公開(不推薦),或添加一個公共方法:
class Customer {
vector <int> loyalID;
public:
void addLoyalId(int id)
{
loyalID.push_back(id);
}
}
訪問忠實IDS:
class Customer {
vector <int> loyalID;
public:
void addLoyalId(int id)
{
loyalID.push_back(id);
}
std::vector<int>::iterator begin() const { return _loyalID.begin(); }
std::vector<int>::iterator end() const { return _loyalID.end(); }
}
用法:
Customer c;
c.addLoyalId(1);
c.addLoyalId(2);
c.addLoyalId(3);
for (auto&& id : c)
{
std::cout << id << " ";
} // will print "1 2 3"
它也可以工作,如果我想爲每個客戶存儲多個loyalID?如果是這樣,我怎麼可以訪問? – ProgLearner
要麼使矢量公衆(不推薦),或在課堂上寫一個公共成員函數:
void Customer::push_back(int i)
{
loyalID.push_back(i);
}
在main
一旦你在customers
元素,你可以寫這樣的事情:
customers[0].push_back(10);
此時'客戶'是空的; '客戶[0]'展品未定義的行爲。 –
我剛纔提供了應該如何使用成員函數的例子。作出澄清。 – rockoder
'客戶''是客戶的矢量',而不是'int'。你可以將'Customer'推到它上面,而不是'int's。你可以將'int'推送到'customer.loyalID'上(或者如果它不是私有的話)。你又想做什麼? –
@IgorTandetnik爲每個客戶存儲唯一ID(例如,忠誠卡客戶),當我訪問特定客戶時,顯示這些uniqueID。 – ProgLearner