Как исправить код C ++ ниже? - PullRequest
       5

Как исправить код C ++ ниже?

0 голосов
/ 09 декабря 2010
class A1{
    public void op(){cout << "A1";}
};

class B1 : public A1{
    public void op(){cout << "B1";}
};

Мне кажется действительным, но компилятор сообщает:

Ошибка, ожидаемое ':' в void

Ответы [ 4 ]

5 голосов
/ 09 декабря 2010
class A1
{
    public:
       virtual void op(){cout << "A1";}
};

class B1 : public A1
{
    public:
       void op(){cout << "B1";}
};

Остерегайтесь добавить ключевое слово virtual, в противном случае вы не переопределите void op(); в B

4 голосов
/ 09 декабря 2010

Колоны после публичных ярлыков.

2 голосов
/ 09 декабря 2010
class A1{
        public: void op(){cout << "A1";}
};

class B1 : public A1{
        public: void op(){cout << "B1";}
};

:) C ++ имеет синтаксис, отличный от C #. В C ++ это менее многословно, поэтому вы можете сделать:

class A1{
public:
    void a(){cout << "x";}
    void b(){cout << "x";}
    void c(){cout << "x";}
};

вместо того, чтобы ставить public перед всеми публичными методами.

2 голосов
/ 09 декабря 2010
class A1 { public: void op () {cout << "A1";}};

class B1 : public A1 { public: void op () {cout << "B1"; }};

PS.Также может быть вы хотите использовать виртуальные методы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...