Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

¤@­ÓBorland C++ ªº°ÝÃD

0 views
Skip to first unread message

unread,
Oct 5, 1997, 3:00:00 AM10/5/97
to

#include<iostream.h>
class T1
{
protected:
int a;
public:
T1 &set(int b){a=b;return *this;}
void print(void){cout<<"I am T1\n";}
};

class T2:public T1
{
public:
void print(void){cout<<"I am T2\n";}
};
void main(void)
{
T2 test;
test.set(10).print();
}

執行結果:
I am T1

為什麼呢?在Turbo C++3.0 則為 I am T2
而且繼承過後應該被改成 T2 &set(int b) 比較好吧!
不然如果一個類別有很多以本身為傳回值的函數,一旦被繼承還要一一寫類似
T2 &set(int b){T1::set(b);return *this;}不是很麻煩

是否有其他解決方法呢?
或者Borland C++ 有什麼選項可更改此情形???
--
[33m [1;5;36m╭╮╭╮ [33m
[1;5;36m║║║║ [0;32m Jason Tsay of C.H.W. Work Group
[1;5;36m║╰╯║ [0;33m E-Mail 831...@math.cycu.edu.tw
[1;5;36m║ [5;35mCYCU [36m║ [0;1;33mmath 菜頭到此一遊
[1;5;32m [42m██ [43m [1;5;33m██ [1;31m [41m██ [1;32m [42m██ [43m [1;33m██ [1;31m [41m██ [1;5;32m [42m██ [43m [1;5;33m██ [31m [41m██ [1;5;32m [42m██ [43m [1;5;33m██ [1;31m [41m██ [1;32m [42m██ [43m [1;33m██ [1;31m [41m██
[0;33m [44m

[m [1;37m※ 來源:‧中原方向站 sunss103.cc.cycu.edu.tw‧[FROM: h87.s171.ts.hin] [m

彰化的Kevin C

unread,
Oct 6, 1997, 3:00:00 AM10/6/97
to

On 05 Oct 1997 16:46:32 GMT, JasonT...@bbs.cycu.edu.tw (牧) wrote:

>#include<iostream.h>
>class T1
>{
>protected:
> int a;
>public:
> T1 &set(int b){a=b;return *this;}
> void print(void){cout<<"I am T1\n";}
>};
>
>class T2:public T1
>{
>public:
> void print(void){cout<<"I am T2\n";}
>};
>void main(void)
>{
>T2 test;
> test.set(10).print();
>}
>
>執行結果:
> I am T1
>
>為什麼呢?在Turbo C++3.0 則為 I am T2
>而且繼承過後應該被改成 T2 &set(int b) 比較好吧!
>不然如果一個類別有很多以本身為傳回值的函數,一旦被繼承還要一一寫類似
>T2 &set(int b){T1::set(b);return *this;}不是很麻煩
>
>是否有其他解決方法呢?
>或者Borland C++ 有什麼選項可更改此情形???

讓T1成為polymorphic


彰化的Kevin C

0 new messages