Другие языки программирования и технологии
интерфейс + реализация + прикладная программа в С++
Как, используя Microsoft Visual Studio 2008, можно реализовать разбиение на эти 3 составляющие? Может надо сначала что то промежуточное выполнить, а не запускать build? // foo.h class foo { public: void getin(int aa); }; // foo.cpp #include "foo.h" #include<iostream> void foo::getin(int aa) { cout << aa; } //test1.cpp #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { return 0; } #include "foo.h" #include<iostream> using namespace std; int main() { foo f; int a=25; f.getin(a); char way_out; cin.get(way_out); do { cin.get(way_out); } while(way_out != '\n'); return 0; }
да хоть на 100 частей.
1 Создаешь проект (консольный) . Там будет:
int _tmain(int argc, _TCHAR* argv[])
{
// TODO:
return 0;
}
2 добавляешь (!) в проект класс (Project -> Add class) Выбираешь С++ -> С++ class, набираешь имя класса - foo, остальные параметры можешь игнорировать. Будут автоматически созданы и добавлены в проект два файла foo.h и foo.cpp
#include "foo.h" - вставляешь в основном проекте, делаешь свой класс, buld, run.
У тебя не хватает здесь:
// foo.cpp
#include "stdafx.h"
#include "foo.h"
#include<iostream>
void foo::getin(int aa)
{ cout << aa; }
#include<iostream> можно вставить в stdafx.h, и не пихать его больше никуда.
1 Создаешь проект (консольный) . Там будет:
int _tmain(int argc, _TCHAR* argv[])
{
// TODO:
return 0;
}
2 добавляешь (!) в проект класс (Project -> Add class) Выбираешь С++ -> С++ class, набираешь имя класса - foo, остальные параметры можешь игнорировать. Будут автоматически созданы и добавлены в проект два файла foo.h и foo.cpp
#include "foo.h" - вставляешь в основном проекте, делаешь свой класс, buld, run.
У тебя не хватает здесь:
// foo.cpp
#include "stdafx.h"
#include "foo.h"
#include<iostream>
void foo::getin(int aa)
{ cout << aa; }
#include<iostream> можно вставить в stdafx.h, и не пихать его больше никуда.
// foo.h
//это интерфейс класса (1-я составляющая)
class foo
{
public:
void getin(int aa);
};
// foo.cpp
#include "foo.h"
#include<iostream>
//это реализация (2-я составляющая)
void foo::getin(int aa)
{ cout << aa; }
//дальше - лишний код, я его закоментирую
/*
//test1.cpp
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{ return 0; }
*/
//а вот и твоя прикладная программа
#include "foo.h"
#include<iostream>
using namespace std;
int main()
{
foo f;
int a=25;
f.getin(a);
char way_out; cin.get(way_out); do { cin.get(way_out); } while(way_out != '\n');
return 0;
}
А лишним тот кусок кода является потому, что это, как и последний кусок, реализация самой программы. И именно она в твоем случае была бы точкой входа.
//это интерфейс класса (1-я составляющая)
class foo
{
public:
void getin(int aa);
};
// foo.cpp
#include "foo.h"
#include<iostream>
//это реализация (2-я составляющая)
void foo::getin(int aa)
{ cout << aa; }
//дальше - лишний код, я его закоментирую
/*
//test1.cpp
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{ return 0; }
*/
//а вот и твоя прикладная программа
#include "foo.h"
#include<iostream>
using namespace std;
int main()
{
foo f;
int a=25;
f.getin(a);
char way_out; cin.get(way_out); do { cin.get(way_out); } while(way_out != '\n');
return 0;
}
А лишним тот кусок кода является потому, что это, как и последний кусок, реализация самой программы. И именно она в твоем случае была бы точкой входа.
Похожие вопросы
- Зачем компаниям C#, C++ если там все равно пишут прикладные программы?
- Пакет прикладных программ
- Объектно-ориентированное программирование. Программа и ее интерфейс.
- Зачем разделять файлы на реализацию и интерфейс в с++?
- Каким должен быть УДОБНЫЙ пользователю интерфейс программы? (см вн)
- У каких программ (по вашему мнению) самый "дер*мовый интерфейс.. . нелогичный и проч...
- Какой смысл в разбиении класса на интерфейс и реализацию?
- Веб программирование или прикладное? ПОМОГИТЕ!
- Дайте ссылку на программу видеомонтажа для windows (не 7) ,без запроса ключа активации. с простым интерфейсом
- Почему Российский IT-рынок это в основном для прикладных программистов?