The classname::methodname syntax is for implementing methods outside the class definition.

If you define the method within the class definition (called an inline definition), you can just say "void DrinksWater".

Also, you don't need the "bottle" parameter, because that is implicit.
Code:
class Waterbottle
{
...
    void DrinksWater() { WaterLevelPercent--; }
}
It decreases the WaterLevelPercent of "this" Waterbottle.

The method (action) is associated with "this" Waterbottle, and you can't use it to modify any other Waterbottle.