problemy przy nauce C++

kuba.bobas
Użytkownik
Użytkownik
Posty: 38
Rejestracja: 18 lis 2006, o 13:26
Płeć: Mężczyzna
Lokalizacja: Szczucin
Podziękował: 2 razy

problemy przy nauce C++

Post autor: kuba.bobas »

Witam, chciałem się teraz nauczyć języka C++ no i uczę się go z książki symfonia c++, ale mam kłopot. Jak np. w programie Dev-C++ mogę wyświetlić spis funkcji bibliotecznych?
Jak mam zlinkować program składający się z kilku plików?
Ostatnio zmieniony 22 wrz 2007, o 22:48 przez kuba.bobas, łącznie zmieniany 1 raz.
Rafal88K
Użytkownik
Użytkownik
Posty: 311
Rejestracja: 15 mar 2007, o 16:52
Płeć: Mężczyzna
Lokalizacja: Lublin
Podziękował: 28 razy
Pomógł: 54 razy

problemy przy nauce C++

Post autor: Rafal88K »

Biblioteki mogą być różne np. STL o jaką Ci dokładnie chodzi?

Możesz zajrzeć tutaj:

Kod: Zaznacz cały

http://gcc.gnu.org/

http://www.cplusplus.com/

A co do kilku plików to podam Ci na przykładzie:
1) Tworzysz nowy projekt i w nim pliki:
a) main.cpp
b) cos.cpp
c) cos.h
2) Teraz uzupełniasz pliki:
a) main.cpp

Kod: Zaznacz cały

#include <iostream>
#include "cos.h"
using namespace std;

int main()
{
    int a=0, b=0;
    cin >> a >> b;
    dodaj(a,b);
    cout << endl;
    system("pause");
    return 0;
}
b) cos.cpp

Kod: Zaznacz cały

#include <iostream>
#include "cos.h"

using namespace std;

void dodaj(int a, int b)
{
    cout << a << " + " << b << " = " << a+b;
}
c) cos.h

Kod: Zaznacz cały

#ifndef __COS__
#define __COS__

#include <iostream>

void dodaj(int a, int b);

#endif
Kompilujesz i masz kilka plików tak jak chciałeś

Jeszcze jedna taka skromna uwaga radziłbym zmienić kompilator na Visual
kuba.bobas
Użytkownik
Użytkownik
Posty: 38
Rejestracja: 18 lis 2006, o 13:26
Płeć: Mężczyzna
Lokalizacja: Szczucin
Podziękował: 2 razy

problemy przy nauce C++

Post autor: kuba.bobas »

Słyszałem o tym kompilatorze wiele dobrego i dlatego robie na nim, dlaczego radzisz zmienić?
Mam niby Borland Developer Studio 2006 ale strasznie ciężki, długo się włancza.
Rafal88K
Użytkownik
Użytkownik
Posty: 311
Rejestracja: 15 mar 2007, o 16:52
Płeć: Mężczyzna
Lokalizacja: Lublin
Podziękował: 28 razy
Pomógł: 54 razy

problemy przy nauce C++

Post autor: Rafal88K »

Dev nadaje się na początek natomiast gdy zaczniesz w WinAPI lub OpenGL to zobaczysz wady tego środowiska, ale ja na początku też pisałem w Dev-ie ponieważ Visual za długo kompiluje. Poza tym Dev nie jest już rozwijany i nie ma w tym środowisku dobrej pomocy.
JarTSW
Użytkownik
Użytkownik
Posty: 414
Rejestracja: 15 mar 2007, o 15:15
Płeć: Mężczyzna
Lokalizacja: C:/WINDOWS/pulpit
Podziękował: 104 razy
Pomógł: 11 razy

problemy przy nauce C++

Post autor: JarTSW »

Ja tez pisze w Devie, i jest zdecydowanie lepszy na start niz Borland
Rafal88K
Użytkownik
Użytkownik
Posty: 311
Rejestracja: 15 mar 2007, o 16:52
Płeć: Mężczyzna
Lokalizacja: Lublin
Podziękował: 28 razy
Pomógł: 54 razy

problemy przy nauce C++

Post autor: Rafal88K »

Dev nie jest zły, ale Visual jest lepszy
Awatar użytkownika
Undre
Użytkownik
Użytkownik
Posty: 1430
Rejestracja: 15 lis 2004, o 02:05
Płeć: Mężczyzna
Lokalizacja:
Podziękował: 3 razy
Pomógł: 92 razy

problemy przy nauce C++

Post autor: Undre »

hmm

Dev - mily w obsludze, nie mialem problemow z prostymi aplikacjami wykorzystujacymi OpenGL ( tylko zeby nie bylo korzystalem z GLUTa i nie napisalem tam Quake'a czy cos :P ), niemniej nie jest to srodowisko typu RAD, ciezko wiec podchodzic do niego na powaznie, jak zreszta nadmieniono nie jest to cos aktywnie rozwijanego i posiadajacego technical support ( w koncu co, za friko ? )

Visual - osobiscie mnie wnerwia, sa ludzie ktorzy akurat lubia Visuala ale "jeden lubi ogorki drugi ogrodnika corki" i ja akurat fanem Visuala nie jestem ( jak i fanem MS ). Niemniej licencja nie jest droga, mozna kupic kopie i zakladajac ze napisaloby sie cos, co by sie sprzedalo, szybko by sie zwrocilo. Poza tym caly MSDN do dyspozycji ;]

Builder - imo ta aplikacja typu RAD jest milsza w obsludze od Visuala, pracowalem na wersji 6, plotki zas chodza ze najnowszy Builder 2006 to lekka pomylka, poza tym za Builderka trza niezle zabulic. Co do stwierdzenia powyzej ze "za dlugo sie włancza" - moze za slaby kompik ? :P

Najlepiej umiec robic w kazdym, co jak pojdzie sie w przyszlosci do jakiejs firmy w ktorej beda mieli licencje na konkretny kompilator w ktorym bedzie trzeba robic ? :P
Awatar użytkownika
Szemek
Użytkownik
Użytkownik
Posty: 4819
Rejestracja: 10 paź 2006, o 23:03
Płeć: Mężczyzna
Lokalizacja: Gdańsk
Podziękował: 43 razy
Pomógł: 1407 razy

problemy przy nauce C++

Post autor: Szemek »

Akurat Visual C++ 2005 Express Edition jest za friko i myślę, że warto go zainstalować i przetestować. Jednym z przydatniejszych rzeczy w Visualu jest IntelliSense czyli moduł automatycznego uzupełniania kodu, można popatrzeć jak wygląda składnia danej funkcji, przyspiesza wpisywanie kodu

do przeglądania plików nagłówkowych w Devie
na nazwie jakiegoś pliku nagłówkowego np. stdio.h, iostream.h
Ctrl+Lewy przycisk myszy

od siebie polecam stronkę
Ostatnio zmieniony 24 wrz 2007, o 13:48 przez Szemek, łącznie zmieniany 1 raz.
Awatar użytkownika
Ivenesco
Użytkownik
Użytkownik
Posty: 54
Rejestracja: 18 lut 2007, o 11:30
Płeć: Mężczyzna
Lokalizacja: Lublin
Podziękował: 4 razy
Pomógł: 6 razy

problemy przy nauce C++

Post autor: Ivenesco »

Co do Visuala: Licencja nie jest droga... Wersja Express jest za darmo (również do celów komercyjnych). Osobiście polecam Ale jeśli chodzi o początki, to dev-c++ wystarczy całkowicie. Chociaż lepiej od początku pisać w Borlandzie (nie polecam ), albo Visualu, ponieważ mają swoje cechy charakterystyczne, do których trzeba się przyzwyczaić.
JarTSW
Użytkownik
Użytkownik
Posty: 414
Rejestracja: 15 mar 2007, o 15:15
Płeć: Mężczyzna
Lokalizacja: C:/WINDOWS/pulpit
Podziękował: 104 razy
Pomógł: 11 razy

problemy przy nauce C++

Post autor: JarTSW »

Borland mi jakos nie odpoiwadal...Szczegolnie jak zaczynalem, jakos nie moglem nic w tym zrobic, co chwila jakies bledy. I to dziwne., bo gdy wkeljalem do Deva, to dzialalo bez problemu, dlatego teraz robie w Devie (:
Awatar użytkownika
Szemek
Użytkownik
Użytkownik
Posty: 4819
Rejestracja: 10 paź 2006, o 23:03
Płeć: Mężczyzna
Lokalizacja: Gdańsk
Podziękował: 43 razy
Pomógł: 1407 razy

problemy przy nauce C++

Post autor: Szemek »

Niestety w Devie chodzą takie kody, które nie przyjmie Visual albo narzędzie Borlanda, przykład to tablica której rozmiar jest podawany przez użytkownika

Kod: Zaznacz cały

#include<iostream>
int main()
{
	int a;
	std::cin>>a;
	int tab[a];
}
na Devie chodzi, na Visualu wyskakują błędy
sztuką jest jeszcze umiejętność rozpoznania znaczenia błędów
Ivenesco, masz rację trzeba się przyzwyczaić, ponieważ każdy z tych programów ma cechy charakterystyczne, dla przykładu w Devie są pliki nagłówkowe, których w Visualu nie ma
Awatar użytkownika
Ivenesco
Użytkownik
Użytkownik
Posty: 54
Rejestracja: 18 lut 2007, o 11:30
Płeć: Mężczyzna
Lokalizacja: Lublin
Podziękował: 4 razy
Pomógł: 6 razy

problemy przy nauce C++

Post autor: Ivenesco »

Szemek,
Devie są pliki nagłówkowe, których w Visualu nie ma
Hm.. Co masz na myśli? Pliki nagłówkowe to #include np.:
#include
#include "plik.h"
W Visualu występują jak najbardziej
Rafal88K
Użytkownik
Użytkownik
Posty: 311
Rejestracja: 15 mar 2007, o 16:52
Płeć: Mężczyzna
Lokalizacja: Lublin
Podziękował: 28 razy
Pomógł: 54 razy

problemy przy nauce C++

Post autor: Rafal88K »

Szemek pisze:Kod:
#include
int main()
{
int a;
std::cin>>a;
int tab[a];
}
Bo to jest niezgodne ze składnią C++.

Powinno być tak:

Kod: Zaznacz cały

#include<iostream>
int main()
{
    int a, *wsk;
    std::cin>>a;
    wsk = new int[a];
}
Rozmiar tablicy musisz być z góry określony np.

Kod: Zaznacz cały

int t[10];
wtedy jest alokowana na stosie. Natomiast jak chcesz zrobić to dynamicznie tak jak wyżej napisałem wtedy musisz użyć wskaźnika i tablica jest umieszczona na stercie, natomiast wskaźnik dalej na stosie.
Ostatnio zmieniony 23 wrz 2007, o 16:28 przez Rafal88K, łącznie zmieniany 1 raz.
Awatar użytkownika
Szemek
Użytkownik
Użytkownik
Posty: 4819
Rejestracja: 10 paź 2006, o 23:03
Płeć: Mężczyzna
Lokalizacja: Gdańsk
Podziękował: 43 razy
Pomógł: 1407 razy

problemy przy nauce C++

Post autor: Szemek »

Ivenesco pisze:W Visualu występują jak najbardziej
nieprecyzyjnie to napisałem (język pisany też może być źródłem nieporozumień ), są różnice w występowaniu niektórych plików nagłówkowych
jakaś biblioteka może być w Devie, np windows.h , a w Visualu może jej nie być
to też trzeba wziąć pod uwagę, chociaż te najczęściej potrzebne i używane to powinny być przy każdym z tych programów

Rafal88K, dzięki za wyłuszczenie dokładne tego problemu, ale ja już to wiem,
chodziło mi o to, że w Devie można pisać niezgodnie ze standardami
warto na to być uczulonym

PS: a poza tym nie przepadam za tablicą w jakiejkolwiek postaci, nawet dynamicznej
dla mnie wygodniejszy jest vector
Awatar użytkownika
Ivenesco
Użytkownik
Użytkownik
Posty: 54
Rejestracja: 18 lut 2007, o 11:30
Płeć: Mężczyzna
Lokalizacja: Lublin
Podziękował: 4 razy
Pomógł: 6 razy

problemy przy nauce C++

Post autor: Ivenesco »

Właśnie taka jest największa różnica między Devem a Visualem: Dev-c++ pozwala na niezgodności ze standardem C++ ISO/ANSI. I dlatego często ludzie przesiadając się z Deva na VC++ mówią, że Visual jest 'ograniczony' ;) Że tak sparafrazuję: Nieznajomość standardów szkodzi :P
ODPOWIEDZ