1
인라인 클래스 정의와 객체 초기화 : 전에 변수를 definining의 위의 방법을 보지 못했다C++ 난 그냥 다음 코드 건너 한
#include <iostream>
static class Foo
{
public:
Foo()
{
std::cout << "HELLO" << std::endl;
}
void foo()
{
std::cout << "in foo" << std::endl;
}
}
blah;
int main()
{
std::cout << "exiting" << std::endl;
blah.foo();
return 0;
}
- 클래스 정의가 변수로 인라인 완료 정의. 그것은 Java에서 익명의 클래스를 생각 나게합니다. 이것을 C++ 표준이라고 부르는 것은 무엇입니까?
감사
타 라스
이 경우 클래스의 이름을 지정해야합니까 (즉, C++에서 허용되는 익명 클래스입니까?)? 그리고 이름이 붙어 있기 때문에 다른'Foo' 객체를 생성 할 수 있습니까? –
... 곧 ISO C99와 호환됩니다. 비록 합법적이라고하더라도,이 사용법은 관용적 인 C++에서는 매우 드물다. –
@STingRaySC : 아니요, 익명의 클래스는 괜찮습니다. 그렇습니다. 다른 클래스도 만들 수 있습니다. 사실 익명 인 경우에도 두 개를 생성 할 수 있습니다 :'struct {...} foo1, foo2;'. – Potatoswatter