C++
класс В
и С
class C
{
// ...
private :
int i;
}
как сделать так, что бы
А содержал 0..(*) бесконечное число аргументов В
В содержал 0..(*) бесконечное число аргументов С
при этом так, что тип С::i можно поменять
В каком смысле содержал ? Что такое "аргументы B" ?
Хочешь запараметризовать A объектами класса B ?
class A
{
private:
B b[бесконечное число]; // грубо
};
вобщем это уже не нужно
Так не бывает. Storage size любого класса, объекты которого ты собираешься создавать, должен быть известен на стадии компиляции.
{
private:
std::vector<B> *b;
};
так не катит?
я написал шаблонный клас, параметром которого был друной класс
вобщем -- сей час это не имеет никакого значения
всем спасибо за внимание
Оставить комментарий
ViGvo
задача -- добавить функциональности (в класс А)есть два класса
А < 0 ------ 1> B
надо сделать, что бы было
А < 0 ------ *> B.
при этом , так, что бы бе сильных потерь В можно было бы заменить на В1 , В2 и тд.
я подумал, что можно сделать это , обьявив В как шаблонный, а затем параметризовать его (В1, В2 ... но реализавать пока ... никак.
можно, в конце-концов, сделать в А сделать проперти : В *ptr_b, вместо B b, но ... хочется оставить stl.