簡體   English   中英

在向量中訪問類的私有成員,並將其作為字符串返回

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM