E
E
esayanoleg2013-07-24 23:39:00
Programming
esayanoleg, 2013-07-24 23:39:00

A few questions about C++ and OOP in general?

Hello, I want to ask a few questions.
1. Recommend good lessons on classes and OOP in C++. Neither Laforet nor Stroustrup fit.
2. Are signs relevant in our time?
3. What to learn next? WinApi? Qt (in my opinion the best option)?
PS Another small question on GitHub.
What is uploaded to GitHub? Sources, or just .exe? Is it possible to host a non-open-source project?

Answer the question

In order to leave comments, you need to log in

8 answer(s)
M
master1312, 2013-07-25
@esayanoleg

1. “Stephen Prata. C++ programming language. Lectures and exercises ”is an awesome book on pluses in general. In addition, there is a description of changes in the C ++ 11 standard. According to OOP - definitely Butch, I join z3apa3a .
2. Definitely yes.
3. Qt is a good thing, as it is quite simple, multifunctional and cross-platform. It makes sense to study it. And I would advise you not to specifically study WinAPI, but look for sources of information so that, if you need it for some specific tasks, you can quickly find what you need.

V
Vladimir Dubrovin, 2013-07-24
@z3apa3a

1. Grady Booch, “Object-Oriented Analysis and Design” helped me a lot in my time
2. Yes
3. If you have no idea what you want to do next, then set yourself any practical task and learn what is necessary for it implementation. Start simple, gradually complicate.

N
Nazar Mokrinsky, 2013-07-24
@nazarpc

Sources are usually uploaded to GitHub, there are also repositories with a version control system for this very source code, for exe, in my opinion, this is not applicable.
You can host non-Open Source, but you have to pay for private repositories. BitBucket allows you to have up to 5 private repositories for free.

@
@broken, 2013-07-25
_

1. I don’t know about you, but I myself go shopping and look through books, and I don’t listen to someone’s reviews (well, rarely, I admit, I listen). I look to see if the book suits me, if it answers my questions that I want to find answers with the help of this book. So just look for any C++ books and browse through them. And, to be honest, if neither stroustrup (well, it's too heavy for beginners), nor even Laforet came up to you, then I don't know what to advise you.
2. Relevant as never before. What makes you think that they may not be relevant? Have you read a little about links and that's all?
3. I advise WinAPI to a FULL understanding of what and how it works. For example, I wrote a full-fledged download manager, almost a copy of flashget in all respects. Until you do something similar in difficulty, I do not advise you to learn Qt. Qt is similar in complexity to C++ Builder/Delphi, in my opinion. And in WinAPI, you have to control each piece of code yourself, create resources, and so on. By the way, I advise you not to use form editors and other garbage, write everything only in code. Then you will get profit. Otherwise, as they usually write: “I know C ++. I write in C++ Builder. or book titles - "C++ in 3 days" and so on

A
akalenuk, 2013-07-25
@akalenuk

1. C++ is not really about OOP. About OOP, you can read Design Patterns, for example. Java is there, but it's not scary. Butch still, yes. For example, to understand the thrill of OOP, it was not reading that helped me, but practice in Objective-C. It's just not possible to write there without proper OOP, unlike C++. As for C++, I would still advise sticking to Stroustrup and catching up with Meyers and Sutter.
2. Pointers in the classical sense - no. Well, that is how. To know, understand and be able is relevant, to apply in real code - thanks, no need. Only unique, shared and weak.
3. Qt, yes, why not. WinApi - I'm not sure. It's better to look at .NET in the direction of managed code. In C++, you can do that in principle. You can also look at wxWidgets or Tk. Or, for example, Mamrmalade SDK or Cocos-2Dx.

I
Ilya Sevostyanov, 2013-07-25
@RUVATA

  1. Based on the questions that you ask, and most importantly - how you formulated them - First of all, you need to decide on the goal that you set for yourself - "Why C ++?".
    If all the same C ++, then why is Stroustrup not suitable for you?

  1. It all depends on the tasks solved in C ++ and, first of all, on the target platform, if for embedded systems and God forbid crystals, then it is necessary, if for a PC, then vice versa

  1. Qt is first of all interfaces. So you write logic or interfaces?

R
romy4, 2013-07-26
@romy4

1. C++ introductory course - Lippman
2. Pointers - the basis of the basics and an integral part of the pluses.
3. In my opinion, Boost should be studied first of all. It’s not just that some solutions pass from it to the standard. And then platform-dependent frames as needed.

P
pelment, 2013-08-02
@pelment

1. Lessons by class... exactly by class? I join the advice about Pattern Design. At one time, I began to study from rather stupid books like “C ++ in three days” with assignments. They are stupid and give little, but they are simple and you can start with them. It’s not worth starting with Stroustrup - he’s generally more of a reference guide that you don’t read in its entirety, but if necessary you explore in detail certain pieces.
2. Pointers are more than relevant. Without them, nowhere at all. They must be able to handle them correctly.
3. I join the council about tasks. Set yourself a task and explore what is connected with it. Without a specific task, there is a high risk of digging into the functionality, and studying it just like that means to fill your head in vain and forget everything in the near future. The way out is tutorials on specific technologies, but I can’t recommend them, I didn’t teach C ++ on them. You can try to fasten different engines, libraries that do something interesting. They usually have a guide on how to screw them on, and this is very helpful. You can also pee algorithmic bicycles. It's good to learn the latest C++ standards. Smart pointers and all.
4. About Github - closed repositories cost money, albeit small. Bitbucket is easier for this, and you can choose another version control system (Merkurial), although I still prefer Git. At work we use Bitbucket, at home I use Github for tasks that I plan to share with someone (ask for advice, give an assessment, help, and so on).

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question