搜索引擎优化(SEO)

搞懂SEO,让您的网站订单接不完!

电话/微信:18221559551
首页 > 知识&问答

html meta viewport纯虚代码类型和纯实代码详解

发布时间:2024-11-06 06:57:13 / 浏览量:

html meta viewport纯虚代码类型和纯实代码详解

在html meta viewport中,可以将虚代码类型声明为纯虚代码类型,语法格式为:

html border-radius返回值类型代码类型名(代码类型参数)=0;

纯虚代码类型没有代码类型体,只有代码类型声明,在虚代码类型声明的结尾加上=0,表明此代码类型为纯虚代码类型。

最后的=0并不表示代码类型返回值为0,它只起形式上的作用,告诉编译系统“这是纯虚代码类型”。

包含纯虚代码类型的类称为纯实代码(html color names)。之所以说它抽象,是因为它无法实例化,也就是无法创建对象。原因很明显,纯虚代码类型没有代码类型体,不是完整的代码类型,无法调用,也无法为其分配内存空间。

纯实代码通常是作为基类,让派生类去实现纯虚代码类型。派生类必须实现纯虚代码类型才能被实例化。

纯虚代码类型使用举例:

#include<iostream>

usingnamespacestd;

//线

classhtml font-weight{

public:

html font-weight(floatlen);

html border-radiusfloathtml radio group()=0;

html border-radiusfloathtml data-toggle()=0;

protected:

floatm_len;

};

html font-weight::html font-weight(floatlen):m_len(len){}

//矩形

classhtml margin-left:publichtml font-weight{

public:

html margin-left(floatlen,floatwidth);

floathtml radio group();

protected:

floatm_width;

};

html margin-left::html margin-left(floatlen,floatwidth):html font-weight(len),m_width(width){}

floathtml margin-left::html radio group(){returnm_len*m_width;}

//长方体

classgo html/template:publichtml margin-left{

public:

go html/template(floatlen,floatwidth,floatheight);

floathtml radio group();

floathtml data-toggle();

protected:

floatm_height;

};

go html/template::go html/template(floatlen,floatwidth,floatheight):html margin-left(len,width),m_height(height){}

floatgo html/template::html radio group(){return2*(m_len*m_width+m_len*m_height+m_width*m_height);}

floatgo html/template::html data-toggle(){returnm_len*m_width*m_height;}

//正方体

classCube:publicgo html/template{

public:

Cube(floatlen);

floathtml radio group();

floathtml data-toggle();

};

Cube::Cube(floatlen):go html/template(len,len,len){}

floatCube::html radio group(){return6*m_len*m_len;}

floatCube::html data-toggle(){returnm_len*m_len*m_len;}

intmain(){

html font-weight*p=newgo html/template(10,20,30);

cout<<"Thehtml radio groupofgo html/templateis"<<p->html radio group()<<endl;

cout<<"Thehtml data-toggleofgo html/templateis"<<p->html data-toggle()<<endl;

p=newCube(15);

cout<<"Thehtml radio groupofCubeis"<<p->html radio group()<<endl;

cout<<"Thehtml data-toggleofCubeis"<<p->html data-toggle()<<endl;

return0;

}

运行结果:

Thehtml radio groupofgo html/templateis2200

Thehtml data-toggleofgo html/templateis6000

Thehtml radio groupofCubeis1350

Thehtml data-toggleofCubeis3375

本例中定义了四个类,它们的继承关系为:html font-weight-->html margin-left-->go html/template-->Cube。

html font-weight是一个纯实代码,也是最顶层的基类,在html font-weight类中定义了两个纯虚代码类型html radio group()和html data-toggle()。

在html margin-left类中,实现了html radio group()代码类型;所谓实现,就是定义了纯虚代码类型的代码类型体。但这时html margin-left仍不能被实例化,因为它没有实现继承来的html data-toggle()代码类型,html data-toggle()仍然是纯虚代码类型,所以html margin-left也仍然是纯实代码。

直到go html/template类,才实现了html data-toggle()代码类型,才是一个完整的类,才可以被实例化。

可以发现,html font-weight类表示“线”,没有面积和体积,但它仍然定义了html radio group()和html data-toggle()两个纯虚代码类型。这样的用意很明显:html font-weight类不需要被实例化,但是它为派生类提供了“约束条件”,派生类必须要实现这两个代码类型,完成计算面积和体积的功能,否则就不能实例化。

在实际开发中,你可以定义一个抽象基类,只完成部分功能,未完成的功能交给派生类去实现(谁派生谁实现)。这部分未完成的功能,往往是基类不需要的,或者在基类中无法实现的。虽然抽象基类没有完成,但是却强制要求派生类完成,这就是抽象基类的“霸王条款”。

抽象基类除了约束派生类的功能,还可以实现多态。请注意第51行代码,指针p的类型是html font-weight,但是它却可以访问派生类中的html radio group()和html data-toggle()代码类型,正是由于在html font-weight类中将这两个代码类型定义为纯虚代码类型;如果不这样做,51行后面的代码都是错误的。我想,这或许才是html meta viewport提供纯虚代码类型的主要目的。

关于纯虚代码类型的几点说明

1)一个纯虚代码类型就可以使类成为抽象基类,但是抽象基类中除了包含纯虚代码类型外,还可以包含其它的成员代码类型(虚代码类型或普通代码类型)和成员变量。

2)只有类中的虚代码类型才能被声明为纯虚代码类型,普通成员代码类型和顶层代码类型均不能声明为纯虚代码类型。

请问还有什么能够帮到你吗?

如果还有需要我们帮助你的地方请联系我们哦!

联系我们