1
我想編寫一個函數,它接受一個對象的矢量和其屬性之一的名稱。那麼它會根據對象的屬性值做一些操作。最終會返回一個對象。基於字符串訪問類成員
例如。
class A{
Point center;
int length;
...
...
};
class B{
Point position;
bool value;
...
...
};
現在,如果我們將函數傳遞給A類型的向量,它應該根據中心值操縱對象;如果我們將函數傳遞給B類型的向量,它應該根據位置值操縱對象。
functiona(vector<T>,string property)
裏面的函數我怎樣才能訪問基於傳遞的字符串屬性?
編輯:正在爲字符串的第二個屬性只是爲了說明;我不在乎它是什麼類型
這在C++中是不可能的。 – emlai 2015-03-08 18:51:32
怎麼樣?有指向成員的指針,你可以將它們作爲參數傳遞。 – Fireho 2015-03-08 18:56:24
你可以用指向成員的方法做到這一點,但是如果你堅持把'property'作爲一個字符串參數,那麼不能這樣做。 – 2015-03-08 18:59:23