Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Where do I go next with C++

Wo0dYWo0dY Member Posts: 9
I need advice.

I have finished a book on C++(C++ From the ground up, Third Edition by Herbert Schildt). I know most of the basics of the language but want to do windows programming. how do i go ahead to learn this? I can't find any good book and most certainly don't have the money to go study programming. the only thing I really have troublr with is the .NET Framework. it is really confusing and a can't seem to figure out how the winForms works.

I don't like the windows help because it shows me what to type without explaining why. I NEED to know why!

So what I'm trying to ask here is if any one will be willing to help me figure it out. I make an excellent student and would apreciat ANY advice or help i can get as long as it's not windows help.

Thanks
Petrua
«1

Comments

  • AsmGuru62AsmGuru62 Member Posts: 6,519
    : I need advice.
    :
    : I have finished a book on C++(C++ From the ground up, Third Edition
    : by Herbert Schildt). I know most of the basics of the language but
    : want to do windows programming. how do i go ahead to learn this? I
    : can't find any good book and most certainly don't have the money to
    : go study programming. the only thing I really have troublr with is
    : the .NET Framework. it is really confusing and a can't seem to
    : figure out how the winForms works.
    :
    : I don't like the windows help because it shows me what to type
    : without explaining why. I NEED to know why!
    :
    : So what I'm trying to ask here is if any one will be willing to help
    : me figure it out. I make an excellent student and would apreciat ANY
    : advice or help i can get as long as it's not windows help.
    :
    : Thanks
    : Petrua
    :
    [color=Blue]Pick some project and program it - that is the only way to learn. Also, read other people's code - say, on codeguru.com.

    I do not understand your question on .NET - what do you mean by "I NEED to know why?". The .NET is a huge set of classes, so if you have a class - you MUST call its methods by using the operator '.' - no other way.[/color]
  • Wo0dYWo0dY Member Posts: 9
    It's hard for me to just use those classes if i don't know how they work. i need to know how they work and which ones to use in the correct situation. i can't seem to find any explanations on how to correctly use them. Oh adn CodeGuru looks like a grate site.
    thanks
  • AsmGuru62AsmGuru62 Member Posts: 6,519
    : It's hard for me to just use those classes if i don't know how they
    : work. i need to know how they work and which ones to use in the
    : correct situation. i can't seem to find any explanations on how to
    : correctly use them. Oh adn CodeGuru looks like a grate site.
    : thanks
    :
    [color=Blue]The .NET classes work by calling good old Win32 API functions (and, probably some new API, which will not be available with Win32, but only with .NET).

    If you wait until you "know" how everything works inside - you will never write any code. So, create a small .NET form, draw a rectangle in the random location on the form and try to detect a mouse click inside this rectangle. Once you succeed - add more logic to it so you can learn functions in .NET WinForms. When you get bored with this program - build Game Of Life program or some other simple exercise.[/color]
  • LundinLundin Member Posts: 3,711
    I agree, get a RAD tool like Visual Studio and fool around with it, make some programs. RAD tools are way easier to use than "raw" Windows API.

    The next step after reading a beginner book would otherwise be to read up on algorithms and data types. Linked list, search & sorting algorithms etc. And learn binary & hex if you don't know them, this is a must! Learning how to use object orientation in detail is good as well.

    Then there is all the details in C++ like STL, RTTI, exception handling, advanced heritage rules etc etc. It is a very complex language.

    Also, if you want to learn the Win API, you'll have to learn C, as the API is written in C. The difference between C and C++ isn't big though, and C is a must to know in case you ever want to work with embedded programming.

  • Wo0dYWo0dY Member Posts: 9
    : : It's hard for me to just use those classes if i don't know how they
    : : work. i need to know how they work and which ones to use in the
    : : correct situation. i can't seem to find any explanations on how to
    : : correctly use them. Oh adn CodeGuru looks like a grate site.
    : : thanks
    : :

    I'm not waiting. i have been doing research and using the ide since i got it.
    have had some success in using it but can't seem to get all the programs to work. especially when i try to make the program save something.


  • Wo0dYWo0dY Member Posts: 9
    : I agree, get a RAD tool like Visual Studio and fool around with it,
    : make some programs. RAD tools are way easier to use than "raw"
    : Windows API.
    :
    : The next step after reading a beginner book would otherwise be to
    : read up on algorithms and data types. Linked list, search & sorting
    : algorithms etc. And learn binary & hex if you don't know them, this
    : is a must! Learning how to use object orientation in detail is good
    : as well.
    :
    : Then there is all the details in C++ like STL, RTTI, exception
    : handling, advanced heritage rules etc etc. It is a very complex
    : language.
    :
    : Also, if you want to learn the Win API, you'll have to learn C, as
    : the API is written in C. The difference between C and C++ isn't big
    : though, and C is a must to know in case you ever want to work with
    : embedded programming.
    :
    :

    I know a bit about STL. I read on RTTI, seems that i have been using it with out even knowing it.

    is there a site that i can visit to read up on c, it looks a bit different from C++.
  • LundinLundin Member Posts: 3,711
    I'm sure there are plenty of good and bad tutorials on the net, I can't recommend one.

    I can however briefly sum up the main differences between C and C++:

    - C has no support for object orientation. It doesn't support classes, heritage, templates, function overlapping, operator overloading and all such generic object orientation functionality.

    - C uses stdio.h for general I/O functionality, instead of iostream.

    - C only allows variable declaration and initialization on top of each scope (code block). You can't declare variables in the middle of the code in C.

    - C allows more flexible (and dangerous) typecasting than C++. In C, any pointer can be typecasted to a void pointer implicitly. This is the method you use in C to write generic program designs.

    - C lacks exception handling. Errors have to be returned to the caller through one of the parameters.

    - C lacks inline functions as part of the standard.

    - C lacks a bool type.

    - C uses malloc() and free() for dynamic allocation, instead of new and delete. malloc/free can't be combined with new/delete. The dynamic allocation in C is actually smarter than the one in C++, since C++ makes a difference between allocation of single objects and arrays, something that often creates memory leaks. C also have the realloc() function.

    There are plenty of minor stuff as well, but I think I covered the main differences(?).
  • Malcolm_McLeanMalcolm_McLean Member Posts: 254 ✭✭
    : I need advice.
    :
    : I have finished a book on C++(C++ From the ground up, Third Edition
    : by Herbert Schildt). I know most of the basics of the language but
    : want to do windows programming. how do i go ahead to learn this? I
    : can't find any good book and most certainly don't have the money to
    : go study programming. the only thing I really have troublr with is
    : the .NET Framework. it is really confusing and a can't seem to
    : figure out how the winForms works.
    :
    It's a huge problem. I have difficulty getting Windows forms to do what I want, and I've over twenty years' experience of programming. Graphical User Interface application interfaces just add layers upon layers of fiddling, and tools which make things easier for people with experience with the particular compiler make it harder to learn.

    It might be better to abandon .net and just use the Windows API, until you get used to the underlying structure of the system.
  • Wo0dYWo0dY Member Posts: 9

    : It's a huge problem. I have difficulty getting Windows forms to do
    : what I want, and I've over twenty years' experience of programming.
    : Graphical User Interface application interfaces just add layers upon
    : layers of fiddling, and tools which make things easier for people
    : with experience with the particular compiler make it harder to learn.
    :
    : It might be better to abandon .net and just use the Windows API,
    : until you get used to the underlying structure of the system.

    and it is definitely not beginner friendly! why does the windows API still use C? wouldn't it be better to use c++?

  • Wo0dYWo0dY Member Posts: 9
    Thanks, that cleared some questions i had.

    If i want to use the Windows API, can i combine C and C++? there seems to be a lot of functionality missing from c that C++ has that i would like to be able to use.

    Thanks for the advise everyone, it's helping a lot.
«1
Sign In or Register to comment.