小编inn*_*sas的帖子

使运营商<<虚拟?

我需要使用虚拟<<运算符.但是,当我尝试写:

virtual friend ostream & operator<<(ostream& os,const Advertising& add);
Run Code Online (Sandbox Code Playgroud)

我得到编译器错误

错误1错误C2575:'operator <<':只有成员函数和基数可以是虚拟的

如何将此运算符设为虚拟?

c++ virtual operator-overloading operators

40
推荐指数
2
解决办法
3万
查看次数

模板类c ++

我尝试为我的大学项目设计一个模板.我写了以下代码:

#ifndef _LinkedList_H_
#define _LinkedList_H_
#include "Link.h"
#include <ostream>
template <class L>//error one
class LinkedList
{
private:
 Link<L> *pm_head;
 Link<L> * pm_tail;
 int m_numOfElements;
 Link<L>* FindLink(L * dataToFind);
public:
 LinkedList();
 ~LinkedList();
 int GetNumOfElements(){return m_numOfElements;}
 bool Add( L * data);
 L *FindData(L * data);

template <class L> friend ostream & operator<<(ostream& os,const LinkedList<L> listToprint);//error two
   L* GetDataOnTop();
   bool RemoveFromHead();
   L* Remove(L * toRemove);
Run Code Online (Sandbox Code Playgroud)

这个模板使用链接类templete

#ifndef _Link_H_
#define _Link_H_
template <class T>//error 3
class Link
{
private:
 T* m_data;
 Link* m_next;
 Link* …
Run Code Online (Sandbox Code Playgroud)

c++ templates

7
推荐指数
1
解决办法
2万
查看次数