64,645
社区成员
发帖
与我相关
我的任务
分享
class C;
class D;
class A
{
public:
virtual void foo(C &c)
{
cout<<"A foo"<<endl;
}
};
class B : public A
{
public:
virtual void foo(C &c)
{
cout<<"B foo"<<endl;
}
};
class C
{
public:
C(int m)
{
val=m;
}
private:
int val;
};
class D : public C
{
public:
D(int m):C(m)
{
}
};
class E
{
public:
void bar()
{
a->foo(D(12));
}
private:
A* a;
};
void main()
{
E e;
e.bar();
}
#include <iostream>
using namespace std;
class C
{};
class D :public C
{
public:
D(int d):d_(d){};
private:
int d_;
};
class A
{
public:
virtual void foo( C c)
{
cout<<"aa"<<endl;
};
};
class B :public A
{
public:
virtual void foo( C c)
{
cout<<"bb"<<endl;
};
};
class E
{
public:
A *a;
void bar()
{
a= new A;
int d=9;
a->foo(D(d));
return;
}
};
int main()
{
return 0;
}
#include <iostream>
using namespace std;
class C
{};
class D :public C
{
public:
D(int d):d_(d){};
private:
int d_;
};
class A
{
public:
virtual void foo(const C &c)
{
cout<<"aa"<<endl;
};
};
class B :public A
{
public:
virtual void foo(const C &c)
{
cout<<"bb"<<endl;
};
};
class E
{
public:
A *a;
void bar()
{
a= new A;
int d=9;
a->foo(D(d));
return;
}
};
int main()
{
return 0;
}