C++项目笔记

来源:互联网 发布:仿绿茶软件园源码 编辑:程序博客网 时间:2024/06/06 13:11

1、子类对象创建时,要先调用父类的构造函数完成父类部分的构造。如果父类没有默认构造函数,子类的构造函数必须显示调用父类的构造函数。CTankPlayer构造函数调用CSprite类构造函数,并将参数szName的值传递给它,从而将名称为szName的精灵图片与CTankPlayer对象绑定起来。

CTankPlayer::CTankPlayer(const char* szName):CSprite(szName)

{

SetSpriteWorldLimit(WORLD_LIMIT_NULL, -26, -22, 26, 22);

}

2、

所谓多态性就是当不同对象收到相同消息时可以有不同的反应和行为.

C++的多态特性是通过虚函数和继承实现的.具体地讲,当调用子类的虚函数时(通过父类指针或引用),执行的是每种子类自己的函数内容.

多态语法:

http://blog.csdn.net/sergery/article/details/8112456

虚函数和纯虚函数:

在基类中声明一个普通的虚函数,你需要给它一个实现,如果是纯虚函数,就可以只有声明,不要定义.
这样的作用是虚函数定义一个接口,并且提供一个默认的操作,纯虚函数定义一个接口,但是没有默认操作,强制继承它的子类都必须实现自己的操作

虚函数是C++多态的一种表现
例如:子类继承了父类的一个函数(方法),而我们把父类的指针指向子类,则必须把父类的该函数(方法)设为virturl(虚函数)
使用虚函数,我们可以灵活的进行动态绑定,当然是以一定的开销为代价。

如果父类的函数(方法)根本没有必要或者无法实现,完全要依赖子类去实现的话,可以把此函数(方法)设为virturl 函数名=0
我们把这样的函数(方法)称为纯虚函数。
如果一个类包含了纯虚函数,称此类为抽象类

多重继承会用到虚继承:

http://blog.csdn.net/sergery/article/details/8120080

删除容器中的元素:

for(vector<int>::iterator iter=vec.begin(); iter!=vec.end(); )
{
     if( *iter == 10)
   {   

iter = vec.erase(iter);

        Break;

      }
      else
            iter ++ ;
}

0 0
原创粉丝点击