Как создать программу на C ++ с каждым классом в отдельном файле - PullRequest
0 голосов
/ 08 февраля 2020

Я хочу создать класс скажем PEN в одном файле c ++ и наследовать его в другом классе, который находится в отдельном файле, и, наконец, запустить программу из файла C ++, который имеет только основную функцию. Я знаю, что это базовая вещь, но я новичок в C ++. Программа консольная.

1 Ответ

0 голосов
/ 08 февраля 2020

Здесь есть несколько вещей.

. Ссылка. Compling. Связывание

  1. Ссылки Вы размещаете свои классы и основную функцию в отдельных cpp файлах. Каждый файл, который ссылается на класс в другом файле, должен #include class.h, где class.h - это заголовки, которые включают объявления класса. Вы можете иметь один общий заголовок для всех файлов или отдельный для каждого. Обычно для каждого есть .h. 1025 * с тем же именем по соглашению.

  2. Компиляция Затем, когда вы компилируете ie, вам нужно решить, хотите ли вы один двоичный файл blob (для вас это моя рекомендация) или библиотека для ссылки. Не уверен, что именно параметры компиляции cpp, но это будет что-то вроде: путь / к / cpp -компилятору main. cpp class. cpp Здесь важен порядок, классы main. cpp должны быть указано ПОСЛЕ main. cpp в командной строке.

  3. Связывание Если вы решили скомпилировать отдельную библиотеку, вам нужно будет выполнить: path / to / cpp -compiler - c class. cpp path / to / cpp -компилятор - c main. cpp отдельно, затем выполните: path / to / cpp -compiler -o a.out main. cpp class.o для ссылки. Вы также можете упаковать несколько файлов .o в .so или dll, если хотите, и дать ссылку на это. Связывание может стать довольно сложным и иметь много причуд, поэтому я думаю, что пока нужно больше разбираться во всех ваших источниках, пока вы не ознакомитесь с ним.

Это хороший ответ здесь: Использование G ++ для компиляции нескольких файлов. cpp и .h

Я предлагаю вам немного больше изучить, так как на этот вопрос наверняка найдется куча других ответов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...