線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1500
推到 Plurk!
推到 Facebook!

關於BCB物件使用的問題

答題得分者是:aftcast
jacobchuang
一般會員


發表:1
回覆:2
積分:0
註冊:2006-09-27

發送簡訊給我
#1 引用回覆 回覆 發表時間:2006-09-27 16:09:41 IP:140.121.xxx.xxx 未訂閱

我的問題是這樣的 :
我自定義了一個class叫做test放在test.h和test.cpp中如下

//test.h/////////////////////
#include "vcl.h"

class test
{
private:
int m;
int n;
public:
int adder();
};


//test.cpp///////////////////
#include "test.h"

int adder()
{
m=99;
n=99;
return m n;
}

並在程式中使用了這個物件

//main.cpp////////////////////
#include test.h
.
.
.

test *sum = new test();
a = sum->adder();

發生如下的錯誤訊息 :

[Linker Error] Unresolved external 'test::adder()' referenced from C:\SOBEL\MAIN.OBJ

=====================================================================================
但如果將test.h和test.cpp合併成test.h如下

//test.h/////////////////////
class test
{
private:
int m;
int n;
public:
int adder()
{
m=99;
n=99;
return m n;
}
};

就可以成功執行了.
但我還是想分成test.h和test.cpp來寫
請問位先進是否能告訴我是哪裡出問題了呢?
感謝各位~

aftcast
站務副站長


發表:81
回覆:1485
積分:1763
註冊:2002-11-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2006-09-27 17:40:00 IP:61.229.xxx.xxx 未訂閱

你好,建議你cpp的基本書再多看幾次。問題出現在…

//int adder()
int test::adder(void) //要使用解析符號才對。當方法的定義在class { } 外時,就要使用 ::
{
m=99;
n=99;
return m n;
}

蕭沖 qs.xiao@gmail.com
http://aftcast.blogspot.com/
生有涯而知無涯,以有涯隨無涯,殆矣

------


蕭沖
--All ideas are worthless unless implemented--

C++ Builder Delphi Taiwan G+ 社群
http://bit.ly/cbtaiwan
jacobchuang
一般會員


發表:1
回覆:2
積分:0
註冊:2006-09-27

發送簡訊給我
#3 引用回覆 回覆 發表時間:2006-09-27 18:28:40 IP:140.121.xxx.xxx 未訂閱
感謝大大的幫忙, 能不能麻煩大大再幫我看一次呢
除了這個之外還有什麼問題, 這是我手誤, 對不起
再麻煩您 :)
===================引 用 文 章===================

你好,建議你cpp的基本書再多看幾次。問題出現在…

//int adder()
int test::adder(void) //要使用解析符號才對。當方法的定義在class { } 外時,就要使用 ::
{
m=99;
n=99;
return m n;
}

蕭沖 qs.xiao@gmail.com
http://aftcast.blogspot.com/
生有涯而知無涯,以有涯隨無涯,殆矣

jacobchuang
一般會員


發表:1
回覆:2
積分:0
註冊:2006-09-27

發送簡訊給我
#4 引用回覆 回覆 發表時間:2006-09-27 18:28:45 IP:140.121.xxx.xxx 未訂閱
感謝大大的幫忙, 能不能麻煩大大再幫我看一次呢
除了這個之外還有什麼問題, 這是我手誤, 對不起
再麻煩您 :)
===================引 用 文 章===================

你好,建議你cpp的基本書再多看幾次。問題出現在…

//int adder()
int test::adder(void) //要使用解析符號才對。當方法的定義在class { } 外時,就要使用 ::
{
m=99;
n=99;
return m n;
}

蕭沖 qs.xiao@gmail.com
http://aftcast.blogspot.com/
生有涯而知無涯,以有涯隨無涯,殆矣

taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#5 引用回覆 回覆 發表時間:2006-09-27 19:18:07 IP:59.124.xxx.xxx 未訂閱
不知你是否有將test.cpp加入專案中?[Project]->[Add to Project]
===================引 用 文 章===================
感謝大大的幫忙, 能不能麻煩大大再幫我看一次呢
除了這個之外還有什麼問題, 這是我手誤, 對不起
再麻煩您 :)
===================引 用 文 章===================

你好,建議你cpp的基本書再多看幾次。問題出現在…

//int adder()
int test::adder(void) //要使用解析符號才對。當方法的定義在class { } 外時,就要使用 ::
{
m=99;
n=99;
return m n;
}

蕭沖 qs.xiao@gmail.com
http://aftcast.blogspot.com/
生有涯而知無涯,以有涯隨無涯,殆矣

aftcast
站務副站長


發表:81
回覆:1485
積分:1763
註冊:2002-11-21

發送簡訊給我
#6 引用回覆 回覆 發表時間:2006-09-27 23:08:42 IP:61.229.xxx.xxx 未訂閱
嗯,仔細再看一下…覺得應該是taishyang說的最後可能了…

===================引 用 文 章===================
不知你是否有將test.cpp加入專案中?[Project]->[Add to Project]
------


蕭沖
--All ideas are worthless unless implemented--

C++ Builder Delphi Taiwan G+ 社群
http://bit.ly/cbtaiwan
系統時間:2024-05-11 4:14:32
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!