问题:
12月2日。
1,什么是引用,引用需要注意哪些问题。(c++)
2,面向对象的三个基本特征,简单叙述。(c++ / java)
3,overload 和 override的区别。(c++)
4,多态的作用。(c++ / java)
5, c++是类型安全的么,是纯面向对象的么。(c++)
6, main函数执行前会执行程序员自己编写的代码么,如果执行,执行什么?。(c++)
7,如果在程序种输出当前源代码种的文件名和运行到源代码文件的行号?(C++)
解答:
1,引用就是变量的“别名”(alias),对应用的操作与对变量直接操作效果完全相同。申明一个引用的时候,切记要对其进行初始化。
可以利用下面例子理解这3点,
-1- 引用必须初始化,
-2- 对引用的所有操作都是针对原变量的。
-3- 引用不是一个新的变量。
存在一个人叫”王啊倒萨打算发给发多少的高发多发施工方法“你想请他做件事,是不是可以管他叫“小王”?对小王产生的一切变化都是直接对他的变化。
2,封装,继承,多态,描述略。
3,
overload是指允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或许参数类型不同,或许两者都不同)。
override 是指子类重新定义父类虚函数的方法。
4, 隐藏实现细节,接口复用。
5,不是。
6,执行,先创建全局对象的构造函数。
7, __FILE__, 和 __LINE__
问题:
12月3日。
1,include <filename.h>
和 include "filename.h"
有什么区别?
2,#define,#endif #ifndef 是做什么用的。
3,C++中 virtual 与 inline 的含义分别是什么?
12月6日
1,以下代码有什么问题?
cout << (true?1:"1") << endl;
2,以下代码有什么问题?
void char2Hex( char c ) // 将字符以16进制表示
{
char ch = c/0x10 + '0'; if( ch > '9' ) ch += ('A'-'9'-1);
char cl = c%0x10 + '0'; if( cl > '9' ) cl += ('A'-'9'-1);
cout << ch << cl << ' ';
}
char str[] = "I love 中国";
for( size_t i=0; i<strlen(str); ++I )
char2Hex( str[i] );
cout << endl;
3、请问运行Test函数会有什么样的结果?
void Test(void)
{
char *str = (char *) malloc(100);
strcpy(str, “hello”);
free(str);
if(str != NULL)
{
strcpy(str, “world”);
printf(str);
}
}