One way to pass a class with "A's" and "B's" is through natural talent. You are simply smart enough to get 100% on tests and assignments without paying attention too much in class. This is rare. My brother is this type of person. It bugs me a lot.
Although you don't like asking for help, it's a good skill to develop. You should learn that asking for help isn't a sign of weakness or stupidity. It's a sign of work ethic. Too often, students think "oh, I just don't get this," and they give up. Their grade suffers because of that attitude. If that same student were to schedule a time to meet with the teacher for further explanation, that student would benefit in a couple of ways. First, that student is taking further steps to master a concept. That isn't going to hurt his/her grade. Second, the teacher now sees work ethic and a desire to do better. If it comes down to giving a student a "C+" or a "B-," and I know the kid has been working really hard, I give him/her the "B-."
My next suggestion for good grades is for you to do consistently good work. There's no magic pill for getting good grades. If you want to be a good student, you have to work for it. That means when a teacher gives an assignment, you need to do it, correctly, and it needs to be done by the due date. I can't tell you how many of my students are able to keep a "B" average because of homework diligence, despite getting "C's" on tests.