I love charity shops and agree they can be a great way to get better clothes than you could normally afford. Just beware of buying everything you like just because it's a bargain, because my second tip is:
Pick a few colours you love wearing and try to buy mainly those colours (you could possibly make an exception for dresses that don't need anything else with them). That way, everything you wear will work well with everything else. The most stylish person I know only ever wears black, white/cream, light brown and red.
Natural fibres are good, and man-made fibres that look natural (such as viscose) are better than those that look very shiny (those would probably make you hot anyway). Even Primark often have linen-mix trousers that look good for a year or two.
In my opinion the most versatile top of all is a plain black cotton scoop-neck t-shirt with 3/4 length sleeves. Every shop does them. Primark and Peacocks do them on a budget (Peacocks are slightly better quality) but M&S usually do a slightly higher end version. There's probably no need to go any posher than that as they all fade after a couple of years of hard wear anyway.
Leather shoes (if you're not ideologically opposed to them) are best because you can polish them so any minor scuffs don't ruin your look. Get them in the sales or maybe charity shops (I've lucked out a few times!)
Someone above said if you can't afford a leather bag get something completely different. I think there is a lot to be said for that idea. Thick canvas (slightly slubby textured) can look good and you can always have your belongings in a carrier bag inside it on very wet days. The person I mentioned above was a big fan of taupe bags. I tried it and I think she was right - they do seem to look good with everything. Tan or silver/gunmetal can too. In summer you can often get quite stylish looking wicker bags for as little as £10 from places like Primark and H&M. I like attaching a scarf or a fabric flower to mine to tie it in with the colours I'm wearing.
Clean, healthy-looking hair - it doesn't have to be blow-dried into submission, thick curly hair can look classy as long as it's in good condition.
If you wear glasses, I think brown tortoiseshell is the most "go with everything" style and there is usually at least one pair in that colour in the cheaper ranges. The same is probably true for sunglasses too.
It is said that fake silver always looks more realistic than fake gold. (I hate the colour gold anyway, but if you like both, that tip might be useful.) Jewellery made of natural materials such as wood, leather and shell often looks classy and doesn't cost a fortune. For everything else (details on bags, shoes etc), the less shiny metal there is on something, the better.
One thing that I think is always going to look cheap even if they're actually really expensive is those ankle grazer jeans that are unfinished at the bottom. I'd always rather have longer ones and roll them up a few cm, I think. Holey jeans sometimes look OK but they have to be a great fit and preferably actually be so old that they have worn into holes naturally (designer holes tend to be in places where nobody's jeans would just wear out!). If you can find some that suit you, non-stretch jeans have the advantage of not getting saggy or kind of "ripply" as they get older and lose their elasticity.
I think some kinds of hats add a lot of classic style without breaking the bank - a straw panama in summer, a beret or trilby in winter.