趨勢科技筆試 6

2022-08-11 16:39:20 字數 687 閱讀 9796

題目:請問下面的程式輸出是什麼?

// test3.cpp : 定義控制台應用程式的入口點。

//#include "stdafx.h"

#include using namespace std;

class ca

{public:

ca(){cout << "ca ....."

p->ca::func();

p->ca::f();

cout << "*************************===="結果:

解釋:1. 為什麼建構函式和析構函式能夠分別呼叫自己的f(),而不是呼叫多型產生的實際型別的呢?

答:由於ca的建構函式構造的是ca型別的,因此在ca型別的建構函式中呼叫f(),只會呼叫ca自己的;析構函式與此同理。

2. func()的呼叫為什麼會輸出this is b?

答:這就是多型的用途。由於有virtual的作用,ca* p指標看到ca裡面的func()函式會呼叫f(),而看ca裡面的f()是在虛函式表中的,直接指向最新的實際型別的f(),也就是呼叫實際型別cb的f(),因此輸出this is b.

要呼叫基類的函式,可以用基類ca::來限定。

趨勢科技筆試題

1 下面程式的輸出是多少?cpp view plain copy print?voidgetmemory char p intmain void void getmemory char p int main void a hello b hello world c hello world run t...

趨勢科技筆試題

3 以下的 可放在vc 6.0裡面執行。題目是要求輸出 trendmicrosoftuscn 然後要求修改程式,使程式能輸出以上結果 如下 include include using namespace std int main int argc,char argv string p new str...

趨勢科技筆試程式設計題

題目描述 給定乙個由小寫英文本母構成的字串s,求不含重複字母的子串的最大長度 題目記得不大清楚了。例如 輸入 abcde 輸出 4 include include include include include include include include include include incl...