я создал несколько класс, как показано ниже (Так как я не могу положить мой реальный класс Здесь я написал мало, как только пример)обращающиеся все частные члены класса C++
class One {
private :
char *link;
int count
}
class Two {
private :
char *link;
int count
}
class Three :: public TWO {
private :
char *link;
int count ;
One One_object;
}
int main() {
Three test;
cout << test.One_object.link ; // error becoz of accessing private member
}
Вот что было бы лучше чтобы получить доступ к частным меберам, если это только значение, то я мог бы написать функцию метода get для получения данных.
Но в моем реальном классе есть много данных пользователи защищены .. Может ли вы кого-то через свет на это ..
Вы когда-нибудь слышали о функциях и классах «друга» и/или членах доступа (например, «getters» и «seters»)? – WhozCraig
Как уже говорилось в WhozCraig, функция 'friend' (должна быть объявлена в классе) может получить доступ к любому закрытому или защищенному члену класса, даже если она не является его членом. –
Если вы действительно * имеете *, вы можете злоупотреблять тем фактом, что аргументы для явных шаблонных экземпляров игнорируют контроль доступа ('[temp.explicit]/12') для доступа к закрытым или защищенным членам. (Например, см. [This] (http://bloglitb.blogspot.com.au/2011/12/access-to-private-members-safer.html)).Тем не менее, 'private' и' protected' предназначены для сокращения объема переменных, чтобы сделать код более понятным. Если вам нужны переменные, которые доступны из любого места, вы должны просто сделать их «public». – Mankarse