Я изучаю C++ на данный момент, и насколько я знаю, переменные экземпляра должны быть объявлены в файле заголовка. Пример заголовок (.hpp) выглядит следующим образом:C++ Объявить переменную экземпляра в заголовке и конструкторе вызовов в исходном файле
class myClass {
private:
int i;
std::ifstream file;
anotherClass aClassObj;
public:
//methods
}
Я хотел бы инициализировать переменные в моем исходном файле (.cpp). Для int это только:
i = 4;
Как бы это сделать, например переменные? В Java это было бы variableName = new Classname(ConstructorParam1, ConstructorParam2);
Однако это невозможно в C++, потому что file = new ifstream("filename");
приводит к несоответствию типа, поскольку new <...>;
возвращает указатель. Должен ли я делать file.open("filename");
или что-то еще? Как инициализировать мою переменную aClassObj
, я хотел бы назвать конструктор с параметрами?
Сердечные приветы
Первое, что нужно начать, это хорошая книга или, по крайней мере, различия между Java и C++. –
В C++ проще вам не нужно предоставлять 'new'. Но вам нужно будет определить определяемый пользователем конструктор, где вы инициализируете переменные-члены. – 101010