Я только что переехал из C в C++ и теперь работает со списками. У меня есть класс под названием «сообщение», и мне нужно иметь класс под названием «строка», , который должен иметь список сообщений в своих свойствах. как я узнал, свойства объекта должны быть инициализированы в списке инициализации конструктора, и у меня было «желание» инициализировать список сообщений в дополнение к остальным свойствам (некоторые строки и удвоения). что «побуждение» оправдано? нужно ли инициализировать список?инициирование списков в списке инициализации конструктора
вот мой код.
цель состоит в том, чтобы создать пустой список строк, и конструктор, я говорю о том, является один в line.cpp
//-------------------
//Code for line.h:
//-------------------
#ifndef LINE_H_
#define LINE_H_
#include "message.h"
#include <string>
#include <list>
using namespace std;
namespace test
{
using std::string;
class Line
{
public:
// constractor with parameters
Line(const string& phoneStr, double callRate, double messageRate);
//function to get phone string
string getPhoneStr() const;
double getCallRate() const;
double getMessageRate() const;
double getLastBill() const;
void addMessage(const string& phoneStr);
private:
string mPhoneStr;
list<Message> mMessages;
double mMessageRate;
double mLastBill;
};
}
#endif /* LINE_H_ */
//-------------------
//Code for line.cpp:
//-------------------
#include "line.h"
namespace test
{
Line::Line(const string& phoneStr, double callRate, double messageRate)
: mPhoneStr(phoneStr), mCallRate(callRate), mMessageRate(messageRate),
mLastBill(0) {}
//getters:
string Line::getPhoneStr() const
{
return mPhoneStr;
}
double Line::getCallRate() const
{
return mCallRate;
}
double Line::getMessageRate() const
{
return mMessageRate;
}
double Line::getLastBill() const
{
return mLastBill;
}
}
//-------------------
//Code for message.h:
//-------------------
#ifndef MESSAGE_H_
#define MESSAGE_H_
#include <string>
namespace test
{
using std::string;
class Message
{
public:
// constractor with parameters
Message(const string& phoneStr);
//function to get phone string
string getPhoneStr() const;
//function to set new phone string
void setPhoneStr(const string& phoneStr);
private:
string mPhoneStr;
};
}
#endif /* MESSAGE_H_ */
//-----------------------------------------------------------------------
//---------------------
//code for message.cpp:
//---------------------
#include "message.h"
namespace test
{
Message::Message(const string& phoneStr) : mPhoneStr(phoneStr) {}
string Message::getPhoneStr() const
{
return mPhoneStr;
}
void Message::setPhoneStr(const string& phoneStr)
{
mPhoneStr = phoneStr;
}
}
простите меня за отправку здесь, но я до сих пор не знаю, как работает этот сайт. как только я получу какой-то ответ, я удалю его из основного сообщения: это мой класс: http://pastebin.com/X9Y9j0bH. когда объявлено, строка должна иметь пустой список сообщений – bks
@bks Не использовать pastebin - отправьте код как часть вашего вопроса. – 2010-06-12 09:12:10
я вижу. теперь вставил весь код, надеюсь, что его достаточно ясно – bks