Modularity and separation of concerns can extend into other domains than software.
For me, it seems so much simpler to keep the two separate. You won't be forced to wash the heating element every time you wash the cup. Can't heat a different cup while the other is in the dishwasher, unless all your cups are self-heating. Normally, the only way for a cup to break is if it shatters, but with an inbuilt heater there's electronics that can break too. And should the cup shatter, now the heater is unusable too, or vice versa.
Modularity and separation of concerns can extend into other domains than software.
For me, it seems so much simpler to keep the two separate. You won't be forced to wash the heating element every time you wash the cup. Can't heat a different cup while the other is in the dishwasher, unless all your cups are self-heating. Normally, the only way for a cup to break is if it shatters, but with an inbuilt heater there's electronics that can break too. And should the cup shatter, now the heater is unusable too, or vice versa.