Метод, который вы используете, не является методом класса. В целом, класс / статический метод означает методы, которые не связаны с каким-либо конкретным экземпляром класса, скорее они связаны с самим классом. В C ++ для этого используется static.
Метод, который вы используете, называется методом экземпляра. То, как вы использовали это прекрасно. И вместо передачи параметра вы можете иметь ссылку в классе, как указано Грегом. Все зависит от ваших потребностей. Если метод требуется только в одном методе или если вы используете разные экземпляры Boo
, это CFoo.Test
, то вы должны передать их в качестве параметра. Но если вам нужен только один экземпляр Boo
все время, вы можете создать его в CFoo
и использовать его во всех методах. То, что вы будете делать, зависит от ваших потребностей.
Единственное, что я возражаю против вашего кода, это присвоение имени переменной. Соглашение состоит в том, чтобы использовать строчную букву для обозначения объектов / методов и верхнюю букву для обозначения класса. Поэтому параметр Boo
должен называться boo
.