The Attack Power Formula is different for each class, as the Rogue and Hunter also gains melee attack power from Agility rather than just Strength.
Agility is also needed for ranged attack power, rather than Strength.
(This info can be found in the source code)
Melee Attack Power - Formula[]
WARRIOR: ATTACKPOWER = level * 3.0+ (STRENGTH) * 2.0 - 20.0
PALADIN: ATTACKPOWER = level * 3.0 + (STRENGTH) * 2.0 - 20.0
ROGUE: ATTACKPOWER = level * 2.0 + (STRENGTH) + (AGILITY) - 20.0
HUNTER: ATTACKPOWER = level * 2.0 + (STRENGTH) + (AGILITY) - 20.0
SHAMAN: ATTACKPOWER = level * 2.0 + (STRENGTH) * 2.0 - 20.0
MAGE: ATTACKPOWER = (STRENGTH) - 10.0
PRIEST: ATTACKPOWER = (STRENGTH) - 10.0
WARLOCK: ATTACKPOWER = (STRENGTH) - 10.0
Ranged Attack Power - Formula[]
HUNTER: ATTACKPOWER = level * 2.0 + (AGILITY) * 2.0 - 10.0
ROGUE: ATTACKPOWER = level + (AGILITY) - 10.0
WARRIOR: ATTACKPOWER = level + (AGILITY) - 10.0
Druid & Shapes Attack Power - Formula[]
The Druid's attack power various from shape.
FORM_CAT: ATTACKPOWER = Level * (mLevelMult + 2.0) + (STRENGTH) * 2.0 + (AGILITY) - 20.0
FORM_BEAR |
& FORM_DIREBEAR: |
ATTACKPOWER = Level * (mLevelMult + 3.0) + (STRENGTH) * 2.0 - 20.0 |
FORM_MOONKIN: ATTACKPOWER = Level * (mLevelMult + 1.5) + (STRENGTH) * 2.0 - 20.0
NORMAL: ATTACKPOWER = (STRENGTH) * 2.0 - 20.0