#include <iostream>
using namespace std;
class A{
public:
virtual void print(){
cout<<"a"<<endl;
}
//
virtual void print(int){//当没有这一部分时,下面调用类B的带参成员函数时就会报错,为什么?
cout<<"这是类A自己定义的一个函数!"<<endl;
}
//
};
class B:public A{//自己定义一个函数,并输出结果???
public:
void print(int){
cout<<"这是类B自己定义的一个函数!"<<endl;
}
};
class C:public A{
public:
void print(){
cout<<"c"<<endl;
}
};
class D:public A{
public:
void print(){
cout<<"d"<<endl;
}
};
int main()
{
A a;
B b;
C c;
D d;
A *p=&a;
A *p1=&b;
A *p2=&c;
A *p3=&d;
p->print();
//p1->print();
p1->print(1);//'print' : function does not take 1 parameters?
p2->print();
p3->print();
return 0;
}
程序运行出现错误:(代码p1->print(1)所在行)
C++ 虚函数 派生类的调用
最新推荐文章于 2024-04-17 14:10:05 发布