У меня есть сотрудник класса, в котором у меня есть статическая функция с сотрудником числа счетчиков и числовое число сотрудников (например, учитель, помощник учителя, личный помощник и т. Д.). Для этого у меня есть статический класс внутри, у меня есть статическое количество для числа сотрудников и внутри каждого подкласса. Я хочу получить доступ к статическому методу базового класса.Вызов статической функции из базового класса
class Employee{
private static int emp;
//...code
static void IncreaseEmployeeCount()
{
emp=emp+1;
}
}
class Teacher : Employee{
private static int tchr;
//...code
static void IncreaseTeacherCount()
{
tchr = tchr + 1;
}
}
Как получить доступ к статическому методу базового класса с использованием дочернего класса. Он попытался использовать следующее, но не с компиляции ошибки времени:
Teacher teacher = new Teacher();
teacher.IncreaseEmployeeCount();
'Employee.IncreaseEmployeeCount()' is inaccessible due to its protection level
Добавление public
уровень доступа по-прежнему выдает ошибку:
Member 'Employee.IncreaseEmployeeCount()' cannot be accessed with an instance reference; qualify it with a type name instead
Почему вы добавили тег 'C++' к этому вопросу? – nbro
вам следует попробовать super.employeeCount() вместо tch. tch - это экземпляр, а не сам класс. employeeCount() - это функция на уровне класса, а не на уровне экземпляра. –
@AlexeiLevenkov: Помимо возврата значения от каждой из статических функций, код допустим C#. – PaulF