C++中的virtual关键字是什么?怎么用?

C++中的virtual关键字是什么?怎么用?,第1张

virtual是定义C++中虚函数关键字

在使用virtual之前,C++对成员函数使用静态联编,而使用virtual,并且在调用函数时是通过指针或引用调用,C++则对成员函数进行动态联编。

用法:

class Base

{

public:Base(){}

public:

virtual void print(){cout<<"Base"}

}

class Derived:public Base

{

public:Derived(){}

public:

void print(){cout<<"Derived"}

}

int main()

{

Base *point=new Derived()

point->print()

}

Output:

Derived

扩展资料

C++11 关键字共73个。

新增关键字:alignas、alignof、char16_t、char32_t、constexpr、decltype、noexcept、nullptr、static_assert、thread_local。

export 因为实现支持太少(仅Edison Design Group的前端支持),编译效率低下,取消原有意义(仍是关键字,但使用它的程序是错误的),改为保留给未来标准使用。

1、alignas

alignof用于获取取指定表达式指定的(类似sizeof,可以直接是类型名)的对齐(alignment)。alignas用于声明时指定对齐类似于现有的类型。和sizeof类似,两者的 *** 作数都不被求值。

2、constexpr

类似const但更强大,修饰函数或对象,表示函数结果或对象是编译时决定的常量,以便优化。(const不能修饰一般的函数,也不一定指定声明的对象能编译期的常量表达式,更可能只是只读对象。而在C语言中,const完全只能指定只读对象。)

3、char16_t 和 char32_t

二者分别表示16位字符型和32位字符型,类似char和wchar_t,也是一般只专用于表示字符的整数类型,且设计上用于表示Unicode字符。char16_t和char32_t是C++11新增的,以克服wchar_t在不同平台上无法保证确定宽度的缺点。

参考资料来源:百度百科--virtual

首先选到CLASSVIEW,然后右击需要添加成员函数的类,选择ADD MEMBER FUNCTION,出来的对话框,比如说public int add(int y,int x)

Function Type:int

Function Declare:add(int y,int x)

Acess:选择public

最后两个static virtual你的函数是静态就选择static,是虚函数就选择virtual。

这样就成功往类里加成员函数了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11747901.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存