Russian Qt Forum

Программирование => С/C++ => Тема начата: Igors от Август 31, 2011, 06:29



Название: private член класса: как "не поступиться принципами"?
Отправлено: Igors от Август 31, 2011, 06:29
Добрый день

Код
C++ (Qt)
class MyClass {
private:
std::vector <int> mData;  // это мне нужно держать private
 
public:
void InsertFrom( size_t insertPos,  // позиция в mData куда вставлять
                 const MyClass & source );  // source.mData  должны быть вставлены в this->mData
};
 
Как бы Вы реализовали InsertFrom ?

Спасибо


Название: Re: private член класса: как "не поступиться принципами"?
Отправлено: Пантер от Август 31, 2011, 07:44
Код
C++ (Qt)
class MyClass {
private:
std::vector <int> mData;
 
public:
void InsertFrom( size_t insertPos,
                 const MyClass & source ) {
   mData.insert (mData.begin () + insertPos, source.mData.begin (), source.mData.end ());
 }
};
 


Название: Re: private член класса: как "не поступиться принципами"?
Отправлено: Akon от Август 31, 2011, 11:02
 ??? А в чем принцип?


Название: Re: private член класса: как "не поступиться принципами"?
Отправлено: Nimbus от Август 31, 2011, 11:36
Да, я что-то тоже не понял в чём проблема была - внутри всех методов/операторов класса есть доступ ко всем полям этого класса, независимо, относятся ли они к this, или к другому объекту этого же класса


Название: Re: private член класса: как "не поступиться принципами"?
Отправлено: Igors от Август 31, 2011, 13:01
Да, я что-то тоже не понял в чём проблема была - внутри всех методов/операторов класса есть доступ ко всем полям этого класса, независимо, относятся ли они к this, или к другому объекту этого же класса
Да, действительно, перемудрил :) Под утро переклинило и почему-то подумал что из др. экземпляра private недоступны