LINUX.ORG.RU

История изменений

Исправление fluorite, (текущая версия) :

В С++ нет анонимных классов

#include <iostream>

class A {
public:
    A() {
        std::cout << "A c-tor" << std::endl;
    }
    ~A() {
        std::cout << "A d-tor" << std::endl;
    }
};

void foo() {

    class : public A {
        public: void bar() {
            std::cout << "Who am I?" << std::endl;
        }
    } a;

    a.bar();

    std::cout << "Anonymous class" << std::endl;
}

int main(int argc, char** argv) {

    foo();

    return 0;
}

Исходная версия fluorite, :

В С++ нет анонимных классов

#include <iostream>

class A {
public:
    A() {
        std::cout << "A c-tor" << std::endl;
    }
    ~A() {
        std::cout << "A d-tor" << std::endl;
    }
};

void foo() {

    class : public A {
        public: void bar() {
            std::cout << "Who am I?" << std::endl;
        }
    } a;

    a.bar();

    std::cout << "Anonimous class" << std::endl;
}

int main(int argc, char** argv) {

    foo();

    return 0;
}