Тема: Конструктор копіювання
class symb {
private:
int A;
public:
symb() {}
symb(const symb &X) {
X.show();
}
void show() {
cout << "123";
}
};
void main() {
symb C;
symb B = C;
}
Компілятор рядок 7 підкреслює червоним і пише: error C2662: void symb::show(void): неможливо перетворити покажчик "this" з "const symb" в "symb &"
об'єкт містить кваліфікатори типу, несумісні з членом функцію "symb :: show" тип об'єкту: constsymb
Чому не можна отримати доступ до функції show () об'єкта C з конструктора копіювання?
Та ще: чому з функції main не можна отримати доступ до змінної A об'єкта C (що логічно, адже вона private), а з конструктора копіювання, який викликається для об'єкта B - можна?