传智扫地僧课程学习笔记。
我先来说一下吧,
之前我们说过,多继承的很多不好地方,
比如,后期项目难以维护,由于图的复杂性使得整个项目的复杂性也提高,
总之是实际项目中,不会采用的一种方式,
抽象类不同,并没有上面的这些问题,
下面贴代码,我特地说一下的是,child继承了2个接口,这2个接口中有同样的函数声明,然而并没有影响,我猜测是因为接口中都没有实现的缘故,都是空嘛~
这是老师课上敲得代码,
#include <iostream>
using namespace std;
class Interface1
{
public:
virtual int add(int a, int b) = 0;
virtual void print() = 0;
};
class Interface2
{
public:
virtual int mult(int a, int b) = 0;
virtual void print() = 0;
};
class Parent
{
public:
int getA()
{
a = 0;
return a;
}
protected:
private:
int a;
};
class Child : public Parent, public Interface1, public Interface2
{
public:
virtual int add(int a, int b)
{
cout<<"Child: add()已经执行\n";
return a + b;
}
virtual void print()
{
cout<<"Child: print()已经执行\n";
}
virtual int mult(int a, int b)
{
cout<<"Child: mult()已经执行\n";
return a*b;
}
protected:
private:
};
void main71()
{
Child c1;
c1.print();
Interface1 *it1 = &c1;
it1->add(1, 2);
Interface2 *it2 = &c1;
it2->mult(3, 6);
cout<<"hello..."<<endl;
system("pause");
return ;
}