Skip to content

Instantly share code, notes, and snippets.

@Chippiewill
Last active March 2, 2017 04:56
Show Gist options
  • Save Chippiewill/409965418bf73ff5c3f248d07b8c3c99 to your computer and use it in GitHub Desktop.
Save Chippiewill/409965418bf73ff5c3f248d07b8c3c99 to your computer and use it in GitHub Desktop.
#include <iostream>
class MyClass {
private:
int my_private_member;
public:
static int MyClass::* p;
int member_val() {
return my_private_member;
}
};
int MyClass::* MyClass::p = &MyClass::my_private_member;
int main(int argc, char** argv) {
int MyClass::* pmem = MyClass::p;
MyClass instance;
instance.*pmem = 0;
instance.*pmem = 5;
if (instance.member_val() != 5) {
std::cerr << "Something bad happened\n";
}
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment