Как мне сделать статические методы, которые используются как статические методы в Java, когда у меня есть несколько файлов .cpp?
В Java вы можете ссылаться на другой класс, используя MyClass name = new MyClass (); и каждая переменная в этом классе будет одинаковой при вызове из любого другого файла, который у вас есть.
Кажется, мне больно иметь возможность передавать по ссылке MyClass & name в каждую функцию, в которой вы хотите использовать этот класс.
Есть ли способ определить имя MyClass в верхней части файла .cpp без создания нового экземпляра этого объекта в памяти и уничтожения всего вашего прогресса, например, если вы пытались сделать простой счетчик , а основной класс сообщит классу счетчика увеличиваться, а класс видимости получит количество отсчетов из класса подсчета и выведет его на экран. Теперь это будет просто: вы можете передать класс подсчета в видимость, но что если у вас более 20 методов, то будет сложно отследить.
Я просто не очень знаком со статическими объектами или ссылками, и я осмотрелся и увидел «пространство имен», но я не уверен, где бы я это определил, или это то, что мне даже нужно.
Заранее спасибо
Пример кода Java:
public class Foo{
private static int counter = 0;
public int getCounter(){
return counter;
}
public void incrCounter(){
counter+=1;
}
}
public class MainProg{
public static void main(String[] args){
Foo foo = new Foo();
Display disp = new Display();
foo.incrCounter();
foo.incrCounter();
disp.displayCounter();
}
}
public class Display{
Foo foo = new Foo();
public void displayCounter(){
foo.incrCounter();
System.out.println(foo.getCounter());
}
}
Это должно распечатать "3"