c++里继承的三种实现形式:实现继承、可视继承、接口继承

2021-02-24 06:24:48 字数 3798 阅读 2502

1楼:匿名用户

实现继承

class a

}class b : a

这时候,我们可以理解为b继承了a的calc的实现。

可视继承:

好像是新名词,没内怎么听说过。在vb。***中好像指容的就是对窗体的继承。建一个基类窗体,然后继承。你可以再查一下。

接口继承

abstract class a

class b:a

}b只是从a中继承了draw方法这个接口。具体的实现是在b或者b的派生类里

2楼:潮流刺客

非虚函数:强制实现继承

虚函数:可视继承

纯虚函数:接口继承

::在c++中是什么意思

3楼:加百列

表示作用域,和所属关系。

比如一个a类:

存在一个函数test是属于a的,如下:

关于::的具体解析:

::是运算符中等级最高的,它分为三种:

1)global scope(全局作用域符),用法(::name)。

2)class scope(类作用域符),用法(class::name)。

3)namespace scope(命名空间作用域符),用法(namespace::name)。

都是左关联(left-associativity),作用都是为了更明确的调用想要的变量。

如在程序中的某一处想调用全局变量a,那么就写成::a,如果想调用class a中的成员变量a,那么就写成a::a,另外一个如果想调用namespace std中的cout成员,就写成std::

cout意思是在这里想用cout对象是命名空间std中的cout。

4楼:香料魔法

1、类作用域操作符

“::”指明了成员函数所属的类,例如:m::f(s)就表示f(s)是类m的成员函数。

2、表示“域操作符”

例如:声明了一个类a,类a里声明了一个成员函数void f( ),但没有在类的声明里给出f的定义,那么在类外定义f时, 就要写成void a::f( ),表示这个f( )函数是类a的成员函数。

3、表示引用成员函数及变量,作用域成员运算符。

比:system::math::sqrt( ) 相当于system.math.sqrt( )

扩展资料

c++中的::的作用

1、作用域限定符,当在类体中直接定义函数时,不需要在函数名字前加上类名,但在类体外实现函数定义的时候,必须加上类名并且加上作用域限定符。student::display( );

2、静态数据成员既可以通过对象名引用,也可以通过类名加::来引用。

例如:class test

test::a;

3、静态成员函数,也是既可以通过对象名引用,也可以通过类名+::引用。

4、引用在类中定义的 typedef新类型。

例如:class myclass

5楼:小肥仔

::是运算符中等级最高的,它有三种含义:

1)global scope(全局作用域符),用法(::name)

int a;

void test ()

2)class scope(类作用域符),用法(class::name)

class a

int a::test()//表示test是属于a的

3)namespace scope(命名空间作用域符),用法(namespace::name)

std::cout<<"test"<

扩展资料:

c++语言特点

支持数据封装和数据隐藏

在c++中,类是支持数据封装的工具,对象则是数据封装的实现。c++通过建立用户定义类支持数据封装和数据隐藏。

在面向对象的程序设计中,将数据和对该数据进行合法操作的函数封装在一起作为一个类的定义。对象被说明为具有一个给定类的变量。每个给定类的对象包含这个类所规定的若干私有成员、公有成员及保护成员。

完好定义的类一旦建立,就可看成完全封装的实体,可以作为一个整体单元使用。类的实际内部工作隐藏起来,使用完好定义的类的用户不需要知道类是如何工作的,只要知道如何使用它即可。

支持继承和重用

在c++现有类的基础上可以声明新类型,这就是继承和重用的思想。通过继承和重用可以更有效地组织程序结构,明确类间关系,并且充分利用已有的类来完成更复杂、深入的开发。新定义的类为子类,成为派生类。

它可以从父类那里继承所有非私有的属性和方法,作为自己的成员。

支持多态性

采用多态性为每个类指定表现行为。多态性形成由父类和它们的子类组成的一个树型结构。在这个树中的每个子类可以接收一个或多个具有相同名字的消息。

当一个消息被这个树中一个类的一个对象接收时,这个对象动态地决定给予子类对象的消息的某种用法。多态性的这一特性允许使用高级抽象。

继承性和多态性的组合,可以轻易地生成一系列虽然类似但独一无二的对象。由于继承性,这些对象共享许多相似的特征。由于多态性,一个对象可有独特的表现方式,而另一个对象有另一种表现方式。

6楼:匿名用户

表示作用域,和所属关系

比如class a

int a::test()//表示test是属于a的类似的还有其他,就不列举了

--------------------

比如int a;

void test ()

7楼:凌滢滢花世

双冒号::

操作符被称为域操作符(scope

operator),含义和用法如下:

1.在类外部声明成员函数。void

point::area(){};

2.调用全局函数;表示引用成员函数变量及作用域,作用域成员运算符例:system::math::sqrt()相当于system.math.sqrt()。

3.调用类的静态方法:

如:cdisplay::display()。

把域看作是一个可视窗口全局域的对象在它被定义的整个文件里,一直到文件末尾都是可见的。在一个函数内被定义的对象是局域的(local

scope),

它只在定义其的函数体内可见。每个类维持一个域,在这个域之外,它的成员是不可见的。类域操作符告诉编译器后面的标识符可在该类的范围内被找到。

8楼:匿名用户

::是运算符中等级最高的,它分为三种:

1)global scope(全局作用域符),用法(::name)

2)class scope(类作用域符),用法(class::name)

3)namespace scope(命名空间作用域符),用法(namespace::name)

他们都是左关联(left-associativity)

他们的作用都是为了更明确的调用你想要的变量,如在程序中的某一处你想调用全局变量a,那么就写成::a,如果想调用class a中的成员变量a,那么就写成a::a,另外一个如果想调用namespace std中的cout成员,你就写成std::

cout(相当于using namespace

std;cout)意思是在这里我想用cout对象是命名空间std中的cout(即就是标准库里边的cout)

他们算是c++中的基础,如果运用的好的话,你程序的出错率也许会降很多,o~~~~~~~~~

9楼:阿元兆奇正

标识作用域,如果std::,表示使用std命名空间的对象,::表示使用全局对象。

10楼:逍遥公虫

表示后面的函数是api函数,非所在类的成员函数

C++里的继承是什么意思,这个c++类的继承是什么意思

1楼 化冻 继承是指一个对象直接使用另一对象的属性和方法。事实上,我们遇到的很多实体都有继承的含义。例如,若把汽车看成一个实体,它可以分成多个子实体,如 卡车 公共汽车等。这些子实体都具有汽车的特性,因此,汽车是它们的 父亲 ,而这些子实体则是汽车的 孩子 。如果一个类a继承自另一个类b,就把这个a...

为什么"自然主义是现实主义的继承和发展

1楼 匿名用户 实际上应该说自然主义是现实主义的一种回归和发展 经济的发展对艺术文化的影响是相当明显的, 在全球经济一体化越来越明显的今天,现实主义在艺术潮流中明显已经堕懒,人们追求一种怀旧的大自然的艺术感觉,以人的自由,思想和灵魂的自由,回归唯美的原始感觉为创作原料,现实主义本身和自然主义并没有理...

用C写图形类继承长方形、圆形、三角形、圆形求面积

1楼 匿名用户 你说得不是很清楚,所以我在写 时没有写比较具体的 。我按照你说的意思定义了类与方法,这是 using system namespace test public abstract double getarea class rectangle shapepublic override d...