C++的纯虚函数,问题简单,求回答,感激不尽

#include <iostream>

using namespace std;

class toCap
{
public :
virtual void conv_to_cap(char *)=0;//纯虚函数
};

class toCap_Impl: public toCap
{
public :
virtual void conv_to_cap(char *s)
{
if(s==0)
return;
int i = 0;
char c = s[i];
while (c)
{
if (c>='a'&&c<='z')
s[i]+='A'-'a';
c = s[++i]; //将小写变成大写
}
}
};

int main(void)
{

char s[] = "aBcdEFg_123f5\n";
toCap* tool = new toCap_Impl; //记住这个用法吧
puts(s);
tool->conv_to_cap(s);
puts(s);

return 0;
}

toCap* tool = new toCap_Impl; 这一步是什么意思?C++是不是有puts可以直接作输出用啊?这里用纯虚函数的意义是什么?谢谢

拥有纯虚函数的类是不能够被实例化的,这样的类一般用来作纯粹的接口类,实现所谓的接口与实现分离。
toCap* tool = new toCap_Impl; 将子类指针赋给基类指针,这样基类的指针就可以通过虚函数调用子类的实现了。
这是c++最重要的特性,也是最基本的概念。楼主多看书。
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜