How to access names by which data members are declared in c++ and output those names to console

56 Views Asked by At

Code:

class A
{
    private:
        int abc;
        string xyz;
}

In the above code, how can I access the names by which data members are declared (abc, xyz) and print them to console?

2

There are 2 best solutions below

0
On

The only way I can think of is using a macro:

#define PRINT_VAR(x) std::cout << #x << '\n';

C++ doesn't have the reflection capabilities of other languages.

0
On

If you mean accessing the names of members, as strings, without knowing those names beforehand, that's not possible - C++ doesn't support reflection.