C++構造と分析、虚数関数の応用
1341 ワード
#include <iostream>
using namespace std;
class A
{
public:
A()// ,
{
cout<<" A"<<endl;
}
~A() // ,
{
cout<<" A"<<endl;
}
virtual void DoSomething()
{
cout<<"A is doing something"<<endl;
}
};
class B:public A
{
public:
B()
{
cout<<" B"<<endl;
}
~B()
{
cout<<" B"<<endl;
};
void DoSomething()
{
cout<<"Do something in class B"<<endl;
}
};
int main(int argc, const char * argv[])
{
B *b = new B;
b->A::DoSomething();//C++ , ,C++ ,C# base,OC java super
// : A/ B/A is doing something
A *a = new B;
a->DoSomething();// A , B
delete a;
// A DoSomething , : A/ B/A is doing something/ A
// : A , b
A *b = new B; // ,
b->DoSomething(); // A DoSomething , A DoSomething , A 。 : ,
delete b;// ,
// : A/ B/A is doing something/ B/ A
return 0;
}