-1

I am new for C++, I want to do some thing like the Java language below without create an object, how do I do that?

public class ClassA {
    **public static final NAME = "ClassA";**
}

public class Main {
    public static void main(String[] args) {
        System.out.println(**ClassA.NAME**);
    }
}
Syscall
  • 18,131
  • 10
  • 32
  • 49
suyen729
  • 63
  • 4
  • [I'd recommended starting here](https://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list) – ChrisMM May 01 '20 at 15:22

2 Answers2

0
#include <iostream>
#include <string>

static const std::string NAME = "ClassA";

int main()
{
    std::cout << NAME;
}
Cory Kramer
  • 107,498
  • 14
  • 145
  • 201
0

C++98

class ClassA {
public:
    static const std::string Name;
};

const std::string ClassA::Name = "ClassA";

int main()
{
    std::cout << ClassA::Name << std::endl;
}

C++17

class ClassA {
public:
    static inline const std::string Name = "ClassA";
};

int main()
{
    std::cout << ClassA::Name << std::endl;
}

C++20

(cannot test it yet)

class ClassA {
public:
    static constexpr std::string Name = "ClassA";
}

int main()
{
    std::cout << ClassA::Name << std::endl;
}
bolov
  • 65,999
  • 14
  • 127
  • 202