[英]Accessing private member of class in a vector and return it as a string
我正在嘗試創建一個整數向量,然后通過一個函數將其寫出,該函數將以一定的寬度打印值。
假設vector
用{1,2,3,4}
填充且極限寬度為4
,則輸出為:1 2 2 4
使用turntostring
,它將數據類型轉換為字符串並返回int,我能夠將int轉換為string並在打印矢量的函數中獲取其大小。
turntostring(r.at(i)).size();
因此,在i = 2
,我的int = 4
,上面的代碼返回值為1
。
很好,直到必須對類的向量做同樣的事情,並且在嘗試訪問此類中的元素時,我無法使用上面的同一行代碼。
我試圖為該類編寫一個打印函數,並編寫此函數以獲得相同的結果:
r.at(i).print().size();
Print將采用該類並返回一個字符串。
但是我需要使用同一行代碼來訪問元素的大小。 含義的代碼相同的行必須要工作vector
int類型的和vector
類的int型的例如的成員:
class fake
{
int num;
}
vector<int> r;
vector<fake> k;
我應該能夠訪問這兩個向量中的每個元素,並使用turnintostring
.size()
然后在它們上使用turnintostring
。
如果有我不知道的某些方法,請告訴我。
如果您已經有string turntostring(int)
需要string turntostring(int)
:
class fake
{
int num;
public:
operator int();
}
fake::operator int() {return num;}
turntostring(some_fake);
turntostring(3);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.