入题
1、c与c++的struct与什么区别?
答:1) c语言的struct定义变量时,必须在变量名前面加struct,如声明了一个结构:
struct t
{ int i;
char c
},
定义变量时必须这样:struct t tt,不能少了struct,而c++就可以直接t tt;这也时我们经常会见到结构这样 的声明方式:
typedef struct t
{
int i;
char c;
}t,
这样我们就可以隐藏掉struct了。
2)c语言中的结构体只能声明成员变量,而c++的结构体可以,其实c++的结构体就是类,可以设定成员的访问权限:public、protected、private,只是默认为public,而class默认为public,注意c语言中struct并不能给成员变量设置权限。
2、将一个字符串如“hello world!”反过来?
答:该题有可能会改错,建议自己能写出代码:
#include<stdio.h>
#include<string.h>
#include<malloc.h>
void main()
{
char *src = "hello world!";
char *dst = NULL;
int len = strlen(src);
dst = (char*) malloc(len+1); // 注意 "hello world!"末尾的'/0'
char *tmp = dst;
src = &src[len-1]; // 只想src字符串最后一个字符
while(len-- !=0)
*tmp++ = *src--; // 注意是后增量,循环到结束时,tmp又向前偏移了一位
*tmp = '/0'; // 别忘了结束符
printf("%s/n", dst); // 打印测试
free(dst); //释放内存
}
3、virtual的用法?
1)声明类中的普通虚函数
2)声明类的纯虚函数
3)声明类的虚拟析构函数
4)类的虚拟继承
4、static的用途?
1)静态局部变量
2)静态全局变量
3)静态普通函数
4)静态(类)成员函数
5)静态(类)成员变量