#include <stdio.h>
#include <iostream>
#include <functional>
template <typename MsgT>
class Msg {
public:
Msg(int size) : size_(size) { element_ = new MsgT[size]; }
~Msg() { delete []element_; };
const MsgT& element(int index) const;
void set_element(int index, const MsgT& value);
int size() const { return size_; };
void PrintElement(int index) const { std::cout << element(index) << std::endl; } //怎么去打印每个数组呢?count?
private:
MsgT *element_;
int size_;
};
template <typename MsgT>
const MsgT& Msg<MsgT>::element(int index) const {
return element_[index];
}
template <typename MsgT>
void Msg<MsgT>::set_element(int index, const MsgT& value) {
element_[index] = value;
}
template <typename T>
int PublishMsg(const Msg<T> &msg) {
//由于参数msg是const的,所以只能调用其const的成员函数,所以size()和PrintElement()要加const后缀(声明和定义都要加)。
for (int i = 0; i < m
C++模板的使用例子(别看)
最新推荐文章于 2022-11-22 15:08:31 发布