Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.03.2012, 14:58   #1
stdio
Форумчанин
 
Аватар для stdio
 
Регистрация: 14.02.2012
Сообщений: 105
Вопрос Создание больших приложений на С++

Подскажите кто в курсе как лучше всего строить большие проекты на С++ ? строить её по принципу вложенных функций или делать большие процедуры в отдельном проекте и подключать к главному через #include ?
stdio вне форума Ответить с цитированием
Старый 06.03.2012, 19:21   #2
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от stdio Посмотреть сообщение
Подскажите кто в курсе как лучше всего строить большие проекты на С++ ? строить её по принципу вложенных функций или делать большие процедуры в отдельном проекте и подключать к главному через #include ?
Лучше всего сначала подумать: что именно это будет, для чего оно нужно, и как это будет использоваться.
_Bers вне форума Ответить с цитированием
Старый 06.03.2012, 20:33   #3
stdio
Форумчанин
 
Аватар для stdio
 
Регистрация: 14.02.2012
Сообщений: 105
По умолчанию

К примеру если писать программку для консоли, которая многое будет уметь. И чтоб отдать команду на выполнение, какой то процедуры, программе надо отдать определённую команду. Вот попробовал на базе классов макетик сделать. только у меня переключатель Switch отказывается переключать....

Код:
// BigProgTest1.cpp: определяет точку входа для консольного приложения.
//

#include "stdafx.h"
#include <iostream>
#include <stdio.h>

using namespace std;

class Pr1
{
public:
	void inPr1()
	{
		cout << "Welcome to the inPr1 funcnion" << endl;
	}
};

class Pr2
{
	public:
	void inPr2()
	{
		cout << "Welcome to the inPr2 funcnion" << endl;
	}
};

class Pr3
{
	public:
	void inPr3()
	{
		cout << "Welcome to the inPr3 funcnion" << endl;
	}
};

int _tmain()
{
	Pr1 objPr1; // объявление объекта
	Pr2 objPr2; // объявление объекта
	Pr3 objPr3;
	

	cout << "main" << endl;
	char go[256];
	do
	{
	cout << "go to?..." << endl;
	cin >> go;
	go[256]=0;
	switch(go[256])
	{
		case 'pr1':
			objPr1.inPr1(); // вызов функции класса message
		break;
		case 'pr2':
			objPr2.inPr2(); // вызов функции класса message
		break;
		case 'pr3':
			objPr3.inPr3();
		break;
	}//switch

	}//do
	while(go != "exit")
		;
}//main
stdio вне форума Ответить с цитированием
Старый 06.03.2012, 21:39   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

я обычно классы стараюсь офомлять по принципу минимальной зависимости(только необходимые зависимости)
и выносить в отдельные cpp+h(или h+lib), для реюзинга кода.

а так огромные файлы это плохо(не, ну понятно если один огромный класс, то еще как то понятно, но это исключение, когда вынесение будет неудобным).
да и процедуры в принципе тоже.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 06.03.2012, 21:58   #5
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Цитата:
только у меня переключатель Switch отказывается переключать
Тут много ошибок.
Что в условии switch()? Один байт. А сравниваешь с константами из трех байт.
Перед этим только что ему присвоили ноль.
И вообще элемента массива с этим индексом не существует.
EUGY вне форума Ответить с цитированием
Старый 06.03.2012, 22:07   #6
stdio
Форумчанин
 
Аватар для stdio
 
Регистрация: 14.02.2012
Сообщений: 105
По умолчанию

и как выйти из этого положения ?
stdio вне форума Ответить с цитированием
Старый 06.03.2012, 22:10   #7
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Выкинуть switch.
использовать strcmp.
передавать указатель на первый элемент массива.
EUGY вне форума Ответить с цитированием
Старый 06.03.2012, 22:11   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

можно применить std::vector||std::list с хранением в std::string, и потом использовать std::find
+ еще можно вообще применить std::map c полиморфизмом.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 06.03.2012 в 22:13.
Пепел Феникса вне форума Ответить с цитированием
Старый 06.03.2012, 22:26   #9
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Пепел Феникса. Как у Вас так быстро получается вставлять ссылки?
Может какая особая метода есть.
EUGY вне форума Ответить с цитированием
Старый 06.03.2012, 22:33   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

сайт открыт был тот.
а далее Copy/Paste.
хотя последнюю руками исправил на нужную, зная как формируються ссылки на сайте.

PS: а вообще была мысль когда пост писал что нужен инструмент, замены ключевых слов на ссылки в кодах(например заменить просто std::list на сыылку типа std::list)
может и напишу такую вещь, благо не трудна она(через буфер обмена работать можно вполне, даже с сохранением содержимого оного)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание приложений для iOS!!! polyaks Софт 2 05.11.2011 15:01
Создание VBA приложений в VB PhoenixJ Microsoft Office Excel 2 29.09.2010 19:42
Создание Windows-приложений Денис89 Обсуждение статей 1 18.09.2010 00:18
Создание оконных приложений на Си Blade Общие вопросы C/C++ 13 06.02.2009 23:57