文思c++筆試題目
簡(jiǎn)答題
1、什么是純虛函數(shù),什么是抽象類
2、你對(duì)stl了解嗎?說下vector的是如何訪問元素的,
文思c++筆試題目
。3、構(gòu)造函數(shù)能夠設(shè)為私有嗎?
4、類的靜態(tài)成員怎么初始化?const和defined的區(qū)別?
5、你對(duì)MFC了解嗎?WM_SIZE消息在創(chuàng)建對(duì)話框的時(shí)候被響應(yīng)了幾次?
6、你對(duì)數(shù)據(jù)結(jié)構(gòu)了解嗎?說說幾種排序算法?
7、postmessage和Sendmessage的區(qū)別
8、說說對(duì)com的認(rèn)識(shí)。
9、你對(duì)qt了解不?
程序題
char str[20]=”hello world”;(具體字符串是什么不知道,類似就是)
char *p = str;
int n = 18;
sizeof(str) = ______; sizeof(p) = ______; sizeof(n) = ______; strlen(str) = ______.
Void saas(char str[100])
{
Cout<
}
2.簡(jiǎn)述左 右的優(yōu)缺點(diǎn):
For(int k=0; k<10; k++)
{
If(condion == TRUE)
Doaa();
Else
Dobb();
K++;
}
If(condion != false)
{
For(int k=0; k<10; k++)
{
Doaa();
}
}
Else
{
For(int k=0; k<10; k++)
{
Doaa();
}
K++;
}
3.引用傳遞和值傳遞的區(qū)別,各在什么情況下使用。
4. const有什么用途?(至少說明兩種,舉例)
5. 判斷下面程序的運(yùn)行結(jié)果
void GetMemory(char *p)
{
p = (char *)malloc(100);
}
void Test(void)
{
char *str = NULL;
GetMemory(str);
strcpy(str, ”hello world”);
printf(str);
}
。撼绦虮罎ⅰ
因?yàn)镚etMemory 并不能傳遞動(dòng)態(tài)內(nèi)存,Test 函數(shù)中的 str 一直都是 NULL。strcpy(str, ”hello world”);將使程序崩潰。
char *GetMemory(void)
{
char p[] = ”hello world”;
return p;
}
void Test(void)
{
char *str = NULL;
str = GetMemory();
printf(str);
}
可能是亂碼,
資料共享平臺(tái)
《文思c++筆試題目》(http://m.oriental01.com)。因?yàn)镚etMemory 返回的是指向“棧內(nèi)存”的.指針,該指針的地址不是 NULL,但其原現(xiàn)的內(nèi)容已經(jīng)被清除,新內(nèi)容不可知。Void GetMemory2(char **p, int num)
{
*p = (char *)malloc(num);
}
void Test(void)
{
char *str = NULL;
GetMemory(&str, 100);
strcpy(str, ”hello”);
printf(str);
}
(1)能夠輸出hello(2)內(nèi)存泄漏
void Test(void)
{
char *str = (char *) malloc(100
strcpy(str, “hello”);
free(str);
if(str != NULL)
{
strcpy(str, “world”);
printf(str);
}
}
6.輸出結(jié)果
class baseq
{
public:
virtual Print()
{
cout<<”base ”<
}
void doprint()
{
Print();
}
};
class ch1:public baseq
{
public:
virtual Print()
{
cout<<”ch1 ”<
}
};
class ch2:public baseq
{
public:
virtual Print()
{
cout<<”ch2 ”<
}
};
void Doprint(baseq *bb)
{
bb->doprint();
}
void main()
{
baseq* b=new baseq;
ch1* c1=new ch1;
ch2* c2=new ch2;
Doprint(b);
Doprint(c1);
Doprint(c2);
delete b;
b=c1;
b-> Print();
b=c2;
b-> Print();
delete c1;
delete c2;
}
7.畫圖簡(jiǎn)單說明下進(jìn)隊(duì)和出隊(duì)的過程
8.給出一有頭結(jié)點(diǎn)的雙向鏈表,要求刪除鏈表的第n個(gè)節(jié)點(diǎn),滿足的條件是第n個(gè)節(jié)點(diǎn)的bvalue > n*n 并且 intx <= n+1.
Struct TNode
{
TNode *preHeader;
TNode *pNextNode;
double bvalue;
int intx;
};
【文思c++筆試題目】相關(guān)文章: