class Comp
{
//...
};
class MyClass
{
private:
vector<Comp*>vec;
//...
};
我需è¦åˆå§‹åŒ–一个类对象的类å‘é‡çš„å‘é‡ã€‚我该如何åˆå§‹åŒ–它?
ç”案 0 :(得分:2)
ä½ å¯ä»¥è®¾ç½®ä¸€ä¸ªåˆå§‹å¤§å°ï¼ˆä¾‹å¦‚10ï¼Œå¦‚ä¸‹æ‰€ç¤ºï¼‰ï¼Œç”¨æž„é€ å‡½æ•°å¡«å……æ‰€æœ‰NULL值:
vector<Comp*> vec(10, NULL);
您还å¯ä»¥ä½¿ç”¨push_back(), push_front()
å’Œinsert()
方法以å„ç§æ–¹å¼æ’å…¥å…ƒç´ ã€‚
ç”案 1 :(得分:1)
使用vec.push_back(new Comp())
但请记ä½ä½¿ç”¨delete vec[<item>]
ç”案 2 :(得分:1)
å‘é‡æ˜¯private
ï¼Œæˆ‘ä¼šè®©æž„é€ å‡½æ•°ä½¿ç”¨æˆå‘˜åˆå§‹åŒ–列表åˆå§‹åŒ–它:
class MyClass
{
public:
MyClass();
private:
vector<Comp*> vec;
};
MyClass::MyClass()
: vec(10, nullptr) // edit to suit the size and content.
{} // alternatively initialize it inside the body {} with loop