如何更正下面的c ++代码?

时间:2010-12-09 10:03:53

标签: c++ syntax

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

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

似乎对我有用,但编译器正在报告:

错误,预计void

处的':'

4 个答案:

答案 0 :(得分:5)

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

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

请注意添加关键字virtual,否则,您不会覆盖B中的void op();

答案 1 :(得分:4)

公众标签后的冒号。

答案 2 :(得分:2)

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

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

PS。也可能你想使用虚方法?

答案 3 :(得分:2)

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";}
};

而不是必须在所有公共方法面前公开。