1.以下代码输出结果是
intp=1;
int q=-1;
int i=-p++-q;
printf("%d \n",i);
答:结果是0。i=-p++-q;相当于i=-p-q;p++;最后p=2,q=-1。因为-的优先级大于++,
2。以下代码输出结果是什么?
注:原题为第三列代码,前两列为作为对照添加的代码
#include<iostream> using namespacestd; class CA { public: inti; virtualvoidff(){i=1;} voidprint() {printf("%d\n",i);} }; class CB:publicCA { private:inti; public: virtualvoidff(){i=2;} voidprint(){printf("%d\n",i);} }; class CC:publicCB { private: inti; public: virtualvoidff(){i=3;} voidprint(){printf("%d\n",i);} }; int main() { CB*A=newCC(); A->ff();//调用的是cc类的ff() A->print();//调用的是CB类的print/()CB类中的i没有被赋值,下面两个对象输出结果原因同上 CC*B=(CC*)newCA(); B->ff(); B->print(); CC*C=(CC*)newCB(); C->ff(); C->print(); } 输出三个随机数。 | #include<iostream> usingnamespacestd; class CA { public: inti; virtualvoidff(){i=1;} virtualvoidprint() {printf("%d\n",i);} }; class CB:publicCA { private:inti; public:virtualvoidff(){i=2;} virtualvoidprint(){printf("%d\n",i);} }; class CC:publicCB { private:inti; public: virtualvoidff(){i=3;} virtualvoidprint(){printf("%d\n",i);} }; int main() {CB*A=newCC();//构造的是CC对象 A->ff();//调用的是CC类中的ff() A->print();//调用的是CC类中的print() CC*B=(CC*)newCA(); B->ff(); B->print(); CC*C=(CC*)newCB(); C->ff(); C->print(); } 输出 3 1 2 | #include<iostream> using namespacestd; class CA { public:inti; virtualvoidff(){i=1;} virtualvoidprint() {printf("%d\n",i);} }; class CB:publicCA { private: inti; public: virtualvoidff(){i=2;} }; class CC:publicCB { private: inti; public: virtualvoidff(){i=3;} }; int main() { CB*A=newCC(); A->ff(); A->print(); CC*B=(CC*)newCA(); B->ff(); B->print(); CC*C=(CC*)newCB(); C->ff(); C->print(); } 输出:随机数 1 随机数.因为只有CA类中有print()函数,只有构造的是CA类的对象时才会输出设定的值。 |
3。C++比c好的地方。(多选)
C++是面向对象语言,编程更加人性化。利于实现封装、继承、多态。c是面向过程语言
4。inline函数的特点 (多选)
inline函数是将要调用的函数代码替换到调用的地方,这样能减少程序执行时的来回跳转,提高程序执行的效率,但是会增加目标程序代码量,即增加了空间开销。
5。inline&宏的不同(多选)
内联函数和宏的区别在于,宏是由预处理器对宏进行替代,而内联函数是通过编
译器控制来实现的。而且内联函数是真正的函数,只是在需要用到的时候,内联函数
像宏一样的展开,所以取消了函数的参数压栈,减少了调用的开销。你可以象调用函
数一样来调用内联函数,而不必担心会产生于处理宏的一些问题。内联函数与带参数宏定义的另一个区别是,内联函数的参数类型和返回值类型在声明中都有明确的指定;而带参数宏定义的参数没有类型的概念,只有在宏展开以后,才由编译器检查语法,这就存在很多的安全隐患。
具体参考http://blog.csdn.net/lw370481/article/details/7311668
6。什么叫做抽象
抽象 抽象是哲学的根本特点, 抽象不能脱离具体而独自存在。
我们所看到的大自然景象就是大自然的实物在我们脑海中的抽象。抽象就是我们对某类事物共性的描述。
具体来说,抽象是指:
1、将复杂物体的一个或几个特性抽出去,而只注意其他特性的行动或过程(如头脑只思考树本身的形状或只考虑树叶的颜色,不受它们的大小和形状的限制)。
2、将几个有区别的物体的共同性质或特性,形象地抽取出来或孤立地进行考虑的行动或过程。
抽象是认识复杂现象过程中使用的思维工具,即抽出事物本质的共同的特性而暂不考虑它的细节,不考虑其他因素。
原文地址:点击打开链接