C++第四次作业
第三次作业 类的继承
-
类的继承
class Shape{
};
class Circle : public Shape{
};
语法:class B : public A{}
-
B继承于A,A类是父类,B是派生类(子类)
-
当B继承于A时,自动将父类中的所有public 成员继承,无法继承private的
-
新的修饰符:protected
(1)该成员不能被外部访问,如private
(2)该成员可以被子类继承,如public
- 在内存上描述父类和子类的关系:父类的内存在前面
ps: 父类的private成员变量也会出现在内存中,只是编译器限制了访问而已。
#include <iostream>
#include <time.h>
using namespace std;
class B1
{
public:
B1(int i)
{
cout<<"constructing B1 "<<i<<endl;
}
};
class B2
{
public:
B2(int j)
{
cout<<"constructing B2 "<<j<<endl;
}
};
class B3
{
public:
B3()
{
cout<<"constructing B3"<<endl;
}
};
class C: public B2, public B1, public B3
{
public:
C(int a, int b, int c, int d):B1(a), memberB2(d), memberB1(c),B2(b)
{
}
private:
B1 memberB1;
B2 memberB2;
B3 memberB3;
};
int main()
{
C obj(1,2,3,4);
return 0;
}
运行结果: