class A1{
public void op(){cout << "A1";}
};
class B1 : public A1{
public void op(){cout << "B1";}
};
似乎对我有用,但编译器正在报告:
错误,预计void
答案 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";}
};
而不是必须在所有公共方法面前公开。