can I have class members in progmem

I want to have a class. When creating an instance, the constructor will take a name argument that will be a string. I'd like to put the strings into progmem from the class so the user just calls

myClass myclass("Name");

and the Name get's put into progmem. It could all happen at compile time, the names are constant and should never change. But I don't even know where to begin to make that happen.

What I'm trying to avoid is the user of the class needing to know anything about program memory in order for this class to not take up a bunch of ram with the strings in the class instances.

You could declare the “name” argument to the constructor and the corresponding class member variable with type const prog_char* or const __FlashStringHelper *, then the strings themselves will be in PROGMEM and only the pointer will be in RAM. But you’ll need to call the constructor appropriately, e.g. if you use const __FlashStringHelper * then you would call it like this:

myClass myclass(F("Name"));