-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
  • 19,327
  • 10
  • 37
  • 52
suyen729
  • 93
  • 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
  • 114,268
  • 16
  • 167
  • 218
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
  • 72,283
  • 15
  • 145
  • 224