Вот определения, которые я знаю для внешней и внутренней связи.
Наличие внутренней связи : может использоваться в единице перевода.
Наличие внешней linkage : существующий вне определенной единицы перевода, доступный через всю программу.
Вот пример:
Скажем, у меня есть файл заголовков с именем Ah где я объявляю члены класса и методы членов (конструктор, деструктор ...). В файле cpp с именем A. cpp я определяю эти методы.
В главном файле. cpp, в который я включил свой заголовочный файл, я создаю объект типа A с конструктором класс А.
Теперь скажите, что я объявил членов класса А личными или защищенными, я не могу получить к ним доступ через свой основной файл. cpp. Если я объявлю их как публичные c, то смогу.
Вот мой вопрос : имеет ли смысл говорить, что у членов класса А есть внутренняя связь, когда я объявляю их частными или защищенными ?
Я очень смущен тем, что на самом деле представляет связь, и когда говорить о внутренней или внешней связи возможно.