美文网首页摄影散文
C/C++知识点分享(22)

C/C++知识点分享(22)

作者: 307656af5a04 | 来源:发表于2019-07-18 05:54 被阅读8次

1.C++有哪些性质(面向对象特点)

封装,继承和多态。
在面向对象程序设计语言中,封装是利用可重用成分构造软件系统的特性,它不仅支持系统的可重用性,而且还有利于提高系统的可扩充性;消息传递可以实现发送一个通用的消息而调用不同的方法;封装是实现信息隐蔽的一种技术,其目的是使类的定义和实现分离。

2. 在什么时候需要使用“常引用”?

如果既要利用引用提高程序的效率,又要保护传递给函数的数据不在函数中被改变,就 应使用常引用。常引用声明方式:const 类型标识符 &引用名=目标变量名;
int a
const int &ra=a;
ra=1; //错误
a=1; //正确
例2 string foo( );
void bar(string & s);
那么下面的表达式将是非法的:
bar(foo( ));
bar("hello world");
原因在于foo( )和"hello world"串都会产生一个临时对象,而在C++中,这些临时对象都是const类型的。因此上面的表达式就是试图将一个const类型的对象转换为非const类型,这是非法的。引用型参数应该在能被定义为const的情况下,尽量定义为const

3.ASSERT()是干什么用的

答:ASSERT()是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,如果表达式为FALSE (0),
程序将报告错误,并终止执行。如果表达式不为0,则继续执行后面的语句。这个宏通常原来判断程序中是否出现了明显非法的数据,如果出现了终止程序以免导致严重后果,同时也便于查找错误。例如,变量n在程序中不应该为0,如果为0可能导致错误;

相关文章

网友评论

    本文标题:C/C++知识点分享(22)

    本文链接:https://www.haomeiwen.com/subject/jnphlctx.html