Использование инструментов онлайн-словарей действительно не помогает. Я думаю, что способ инкапсуляции в информатике не соответствует действительности. t в точности соответствует его значению на простом английском языке.
Какой антоним инкаспулировать в версии информатики? В частности, какой антоним для инкапсуляции будет работать как имя функции.
Почему меня это должно волновать? Вот моя мотивация:
// A class with a private member variable;
class Private
{
public:
// Test will be able to access Private's private members;
class Test;
private:
int i;
}
// Make Test exactly like Private
class Private::Test : public Private
{
public:
// Make Private's copy of i available publicly in Test
using Private::i;
};
// A convenience function to quickly break encapsulation on a class to be tested.
// I don't have good name for what it does
Private::Test& foo( Private& p )
{ return *reinterpret_cast(&p); } // power cast
void unit_test()
{
Private p;
// using the function quickly grab access to p's internals.
// obviously it would be evil to use this anywhere except in unit tests.
assert( foo(p).i == 42 );
}