本人一直从事嵌入式开发,包括单片机,FPGA,偶尔测试或者数据显示会用到QT。
大家知道单片机一般是C语言开发,FPGA一般用verilog、vhdl开发,所以我很少用C++。
C++与C语言最大的区别就是,一个是面向过程,一个是面向对象。
类,封装性,继承性,多态性,虚函数都是C++的特点,虚函数我理解了好久。
/***************************************************/
class mybase
{
public:
mytest();
virtual fun() = 0;//纯虚函数
fun_call2();
};
mybase::fun_call2()
{
cout<<"fun_call2_begin"<<endl;
fun();
fun();
cout<<"fun_call2_end"<<endl;
}
/***************************************************/
class mytesta : mybase
{
public:
mytesta();
fun();
}
mytesta::fun()
{
cout<<"MYTESTA"<<endl;
}
/******************************************************/
main()
{
mytesta aaa;//定义一个派生的对象
mybase *XX=(mytest *)&aaa;//基类的指针指向派生的地址
XXX->fun();//基类的纯虚函数
XXX->fun_call2();//基类的函数,调用基类的纯虚函数。
}
虚函数就是类似于回调函数,纯虚函数的派生类必须要实现相应的函数实体,然后相当于
基类调用派生的函数。