交易所股票数据接口,接口类就是只提供交易所股票数据接口,接口不提供实现的类,就是接口类,接口类和抽象类对C++而言,没有什么区别。
上面又写了一个Dog类。
int main(){
BaseInterface *pBaseInterface = new Person();
pBaseInterface->sleep();
BaseInterface *pBaseInterface1 = new Dog();
pBaseInterface1->Sleep();
return 0;
}
如果多个类同时继承基类,成为子类后,在声明接口类类对象调用虚函数时,怎么判断调用的是哪个子类的虚函数呢?这里要注意以下几点:
实现一个动物的接口类例子如下:
#ifndef BASEINTERFACE_H
#define BASEINTERFACE_H
//用于动物的接口类
class BaseInterface{
//是动物都要吃东西,睡觉以及爱好
public:
virtual void Eat()=0;
virtual void Sleep()=0;
virtual void Hobby()=0;
virtual ~BaseInterface(){}
};
#endif // BASEINTERFACE_H
子类来实现接口类中没有实现的所有接口。接口方法前面有virtual关键词修饰,并且等于0。只能被继承,不能独自生成对象。
接口类有如下特点:
人类继承接口类:
#ifndef PERSON_H
#define PERSON_H
#include <QString>
#include "baseinterface.h"
//继承动物的接口类
class Person : public BaseInterface
{
public:
Person();
//继承动物接口后一定要实现接口类中的接口
void Eat();
void Sleep();
void Hobby();
//但是人类作为动物有自己的行为和爱好
private:
QString personName;
public:
void Speak();
void SetName(QString pName);
QString GetName();
};
#endif // PERSON_H
人类实现接口类方法:
#include "person.h"
#include <QDebug>
Person::Person()
{
personName = "";
}
void Person::Eat(){
qDebug()<<"eat bread";
}
void Person::Sleep(){
qDebug()<<"Sleep 1 hour";
}
void Person::Hobby(){
qDebug()<<"run 35 mins";
}
void Person::Speak(){
qDebug()<<"person speak a lot of language";
}
void Person::SetName(QString pName){
personName = pName;
qDebug()<<personName;
}
QString Person::GetName(){
return personName;
}
文章为作者独立观点,不代表股票交易接口观点