Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Herrgott
0 / 0 / 0
Регистрация: 21.02.2016
Сообщений: 59
#1

Объясните некоторые моменты из c++ - C++

30.04.2016, 09:21. Просмотров 281. Ответов 15
Метки нет (Все метки)

Добрый день. Я хочу начать познавать сие творение, т.к. 1 семестр на первом курсе 3 года назад познанием и обучением назвать сложно. А в общем мне интересно следующее:
  1. 1. Для чего нужны файлы .h, .cpp, .c, точнее как их использовать. Я насколько помню мы писали код в хедерах и cpp разный. Как-будто хедер - интерфейс, а .cpp - класс его реализующий.
  2. 2. Какую ide выбрать на linux, и как писать клиент и сервер для разных платформ (В моем случае клиент на linux, сервер на Windows, и можно ли обе на линухе написать)*
  3. 3. Почему создание сокета в c++ такое сложное? Подключать для каждой платформы свою библиотеку, есть ли фреймворки упрощающие этот процесс?

* - Главный вопрос .
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.04.2016, 09:21
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Объясните некоторые моменты из c++ (C++):

Объясните некоторые моменты в задаче
Здравствуйте, вот мне накинули задачу Пользователь вводит число А не более...

Quick sort, не понятно некоторые моменты.
здравствуйте нужно реализовать quicksort Есть код с учебника по которому мы...

Шейкер Сортировка! Непонятны некоторые моменты
Столкнулся с задачей реализации Шейкер сортировки .Почитал теорию и понял , что...

Циклы в Си++, хотелось бы уточнить некоторые моменты
Начинаю изучать Си, учусь по самоучителю при отсутствии знакомых и друзей...

Задача по наследованию в C++, нужно реализовать некоторые моменты
Написать программу с объектами и реализовать наследование. Ситуация: Klimat...

Задача по наследованию. Не понимаю некоторые моменты в формулировке задания
Здравствуйте! Вот есть задание: Описать базовый класс СТРОКА Обязательные...

15
kylroma
Одессит
204 / 75 / 37
Регистрация: 30.12.2013
Сообщений: 277
Записей в блоге: 1
Завершенные тесты: 2
30.04.2016, 09:58 #2
QT лучше выбрать, там же есть и классы типа QTcpServer, QTcpSocket.
Ещё есть библиотека для сети boost asio.
0
Herrgott
0 / 0 / 0
Регистрация: 21.02.2016
Сообщений: 59
30.04.2016, 10:03  [ТС] #3
kylroma, Спасибо, а то я уже начинаю медленно терять интерес к языку из-за не понятного стиля программирования. Я попробую.

А что насчет 2 вопроса?
0
Stitch Igorek
47 / 47 / 31
Регистрация: 02.04.2016
Сообщений: 308
Завершенные тесты: 1
30.04.2016, 10:08 #4
Цитата Сообщение от Herrgott Посмотреть сообщение
1. Для чего нужны файлы .h, .cpp, .c, точнее как их использовать. Я насколько помню мы писали код в хедерах и cpp разный. Как-будто хедер - интерфейс, а .cpp - класс его реализующий.
все правильно - .h файл обычно содержит объявления класса, а .cpp - определение, а файлы с расширением .c это файл с кодом на языке Cи, при этом все эти файлы - обычные текстовые файлы, и их расширение - это не более чем принятый стандарт. например хедер <iostream> вообще не имеет расширения.
0
kylroma
Одессит
204 / 75 / 37
Регистрация: 30.12.2013
Сообщений: 277
Записей в блоге: 1
Завершенные тесты: 2
30.04.2016, 10:08 #5
QT - это кроссплаторменная IDE, вот там и есть фреймфорки для сети.
0
Stitch Igorek
47 / 47 / 31
Регистрация: 02.04.2016
Сообщений: 308
Завершенные тесты: 1
30.04.2016, 10:11 #6
Цитата Сообщение от Herrgott Посмотреть сообщение
(В моем случае клиент на linux, сервер на Windows, и можно ли обе на линухе написать)*
чаще серверную часть на linuxе и пишут, виндовс славиться своей красотой, а линукс стабильностью.
0
Martein
675 / 86 / 15
Регистрация: 22.06.2014
Сообщений: 182
30.04.2016, 10:14 #7
Цитата Сообщение от Herrgott Посмотреть сообщение
а то я уже начинаю медленно терять интерес к языку из-за не понятного стиля программирования
Да и я, в принципе, начинаю терять интерес к хождению только на двух ногах, нежели на четвереньках, из-за не понятного предназначения прямохождения человека. Куда рациональнее ходить, как это делают алкаши. Извиняюсь за оффтоп.
0
Herrgott
0 / 0 / 0
Регистрация: 21.02.2016
Сообщений: 59
30.04.2016, 14:41  [ТС] #8
Qt интересный вариант. Вот уже начал изучать, но есть проблема и кажется она только в linux'е. А именно то, что QtCreator не видит классы Qt, такие как: QDialog, QTcpSocket, QMessageBox и т.д.
Скачал Qt с официального сайта. Kit кое-как настроил.
0
Миниатюры
Объясните некоторые моменты из c++  
Herrgott
0 / 0 / 0
Регистрация: 21.02.2016
Сообщений: 59
30.04.2016, 14:43  [ТС] #9
Советовали добавить в .pro строку greaterThan(QT_MAJOR_VERSION, 4): QT += widgets, не помогает

Добавлено через 1 минуту
Содержимое myproj.pro
Кликните здесь для просмотра всего текста

#-------------------------------------------------
#
# Project created by QtCreator 2016-04-30T18:39:23
#
#-------------------------------------------------


QT += core

QT -= gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = myproj
CONFIG += console
CONFIG -= app_bundle

TEMPLATE = app


SOURCES += main.cpp \
dialog.cpp

HEADERS += \
dialog.h
0
Renji
2141 / 1500 / 456
Регистрация: 05.06.2014
Сообщений: 4,338
30.04.2016, 14:56 #10
Цитата Сообщение от Herrgott Посмотреть сообщение
3. Почему создание сокета в c++ такое сложное? Подключать для каждой платформы свою библиотеку, есть ли фреймворки упрощающие этот процесс?
В Qt есть (сам не пробовал). А сложное, вероятно, потому что 99% примеров не на плюсах, а на Си.
0
Herrgott
0 / 0 / 0
Регистрация: 21.02.2016
Сообщений: 59
30.04.2016, 15:00  [ТС] #11
Renji, Qt троит. Не хочет инклюдить свои же классы
0
Renji
2141 / 1500 / 456
Регистрация: 05.06.2014
Сообщений: 4,338
30.04.2016, 15:03 #12
Лучший ответ Сообщение было отмечено Herrgott как решение

Решение

Цитата Сообщение от Herrgott Посмотреть сообщение
Renji, Qt троит. Не хочет инклюдить свои же классы
QT += network в pro файл киньте.
1
Herrgott
0 / 0 / 0
Регистрация: 21.02.2016
Сообщений: 59
30.04.2016, 15:08  [ТС] #13
Renji, Спасибо. А в Qt Creator есть рефакторинг по автоподключению классов или по оптимизации импортов как в Intellij IDEA? И еще вопросец, вот где мне смотреть какая либа что требует для добавления в .pro? В документации не увидел
0
Renji
2141 / 1500 / 456
Регистрация: 05.06.2014
Сообщений: 4,338
30.04.2016, 15:16 #14
Цитата Сообщение от Herrgott Посмотреть сообщение
Renji, Спасибо. А в Qt Creator есть рефакторинг по автоподключению классов или по оптимизации импортов как в Intellij IDEA?
Честно говоря, без понятия что такое "рефакторинг по автоподключению классов".
Цитата Сообщение от Herrgott Посмотреть сообщение
И еще вопросец, вот где мне смотреть какая либа что требует для добавления в .pro? В документации не увидел
На doc.qt.io.
0
Herrgott
0 / 0 / 0
Регистрация: 21.02.2016
Сообщений: 59
30.04.2016, 15:24  [ТС] #15
Renji, Ну я имел ввиду, что при объявлении класса в IntelliJ IDEA, он автоматом подключается в импорт. Ну да, это не рефакторинг
0
Renji
2141 / 1500 / 456
Регистрация: 05.06.2014
Сообщений: 4,338
30.04.2016, 15:29 #16
Цитата Сообщение от Herrgott Посмотреть сообщение
Renji, Ну я имел ввиду, что при объявлении класса в IntelliJ IDEA, он автоматом подключается в импорт.
Нет, такого в Qt вроде бы нету.
0
30.04.2016, 15:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.04.2016, 15:29
Привет! Вот еще темы с решениями:

Объясните общие моменты: среда разработки, библиотеки и т.п
Хочу начать изучение С++. На примере написания какого-нибудь приложения для...

Объясните пожалуйста некоторые функции
Здравствуйте. Пожалуйста объясните: что за функции: peek() c_str() ...

Объясните некоторые тонкости указателей
Всем добрый вечер. Вот так выглядит сам код: //Программа объявляет указатель...

Объясните некоторые легкие команды
1) Когда мы пишет UNSIGNED и чем он отличается от SIGNED например unsigned...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru