技術討論區 > C/C++程式設計討論區
[c++] vector如何在class的建構式設定初值?
(1/1)
吸多點:
各位大大,下面分別2個檔案t001.cpp 是可以執行。
t002.cpp & t002_class.h & t002_class.cpp 卻不行執行,但只是把t001.cpp分開寫在不同file,
這是為何呢?
t001.cpp
--- 代碼: ---//---------------------------------------------------------------------------
#include <vcl.h>
#include <iostream>
#include <vector>
#include <tchar.h>
#include <cstdlib>
#include <ctime>
using namespace std ;
//---------------------------------------------------------------------------
class bbc
{
private:
int news;
vector<int> title ;
public:
bbc(void) ;
~bbc(void);
void output(void) ;
};
//---------------------------------------------------------------------------
bbc::bbc(void) : title(news)
{
news = 8 ;
for( int i=0 ; i < news ; ++i )
{
title[i] = i ;
}
}
bbc::~bbc(void)
{
}
void bbc::output(void)
{
news++;
cout << news << "\n";
for( int i=0 ; i < news ; ++i )
{
cout << "title[" << i << "] :" << title[i] << "\n" ;
}
}
//---------------------------------------------------------------------------
void main()
{
bbc today ;
today.output() ;
system("PAUSE");
}
--- 程式碼結尾 ---
t002.cpp
--- 代碼: ---#include <vcl.h>
#include <iostream>
#include <vector>
#include <tchar.h>
#include <cstdlib>
#include <ctime>
using namespace std ;
#include "t002_class.h"
void main()
{
bbc today ;
today.output() ;
system("PAUSE");
}
--- 程式碼結尾 ---
t002_class.h
--- 代碼: ---//---------------------------------------------------------------------------
#ifndef t002_classH
#define t002_classH
//---------------------------------------------------------------------------
#endif
class bbc {
private:
int news;
vector<int> title ;
public:
bbc(void) : title(news) ;
~bbc(void);
void output(void) ;
};
--- 程式碼結尾 ---
t002_class.cpp
--- 代碼: ---//---------------------------------------------------------------------------
#include <vcl.h>
#include <iostream>
#include <vector>
#include <tchar.h>
#include <cstdlib>
#include <ctime>
using namespace std ;
#include "t002_class.h"
//---------------------------------------------------------------------------
bbc::bbc(void) : title(news) {
news = 8 ;
for( int i=0 ; i < news ; ++i ) {
title[i] = i ;
}
}
//---------------------------------------------------------------------------
bbc::~bbc(void)
{
}
//---------------------------------------------------------------------------
void bbc::output(void)
{
news++;
cout << news << "\n";
for( int i=0 ; i < news ; ++i ) {
cout << "title[" << i << "] :" << title[i] << "\n" ;
}
}
//---------------------------------------------------------------------------
--- 程式碼結尾 ---
吸多點:
這是錯誤訊息
--- 代碼: ---t002_class.h(14,2): error E2275: E2275 { expected
--- 程式碼結尾 ---
Yamaka:
--- 引述: 吸多點 於 2014-03-14 16:42 ---各位大大,下面分別2個檔案t001.cpp 是可以執行。
t002.cpp & t002_class.h & t002_class.cpp 卻不行執行,但只是把t001.cpp分開寫在不同file,
這是為何呢?
t002_class.h
--- 代碼: ---//---------------------------------------------------------------------------
#ifndef t002_classH
#define t002_classH
//---------------------------------------------------------------------------
#endif
class bbc {
private:
int news;
vector<int> title ;
public:
bbc(void) : title(news) ;
~bbc(void);
void output(void) ;
};
--- 程式碼結尾 ---
--- 引用結尾 ---
改這樣
--- 代碼: ---class bbc {
private:
int news;
vector<int> title ;
public:
bbc(void);
~bbc(void);
void output(void) ;
};
--- 程式碼結尾 ---
吸多點:
:) 是耶
唉 搞了ㄧ天,原來是粗心了
欠缺咖啡因阿..
導覽
[0] 文章列表
前往完整版本