//头文件just.h
enum class Month
{
jan = 1,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec
};
class Date
{
public:
Date(int y, Month m, int d);
Month month() { return m; }
int day() { return d; }
int year() { return y; }
private:
int y ;
Month m ;
int d ;
};
Date::Date(int y, Month m, int d)
{
}
//cpp文件
// ones.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include "pch.h"
#include
#include"just.h"
#include"std_lib_facilities.h"
using namespace std;
int main()
{
Date d{ 2000, Month::jun, 12 };
cout << d.month() << '\n';
}
你都用了enum class 了你觉得的
给你个代码片 ,直接把上面的东西放在单文件里了 你看下
#include <iostream>
using namespace std;
enum class Month : int
{
jan = 1,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec
};
class Date
{
public:
Date(int v_year, Month v_month, int v_day) :
m_year(v_year),m_month(v_month),m_day(v_day){};
Month get_month() { return m_month; }
int get_day() { return m_day; }
int get_year() { return m_year; }
private:
int m_year ;
Month m_month ;
int m_day ;
};
int main()
{
Date m_date{ 2000, Month::jun, 12 };
cout << static_cast<int>(m_date.get_month()) << endl;
cout << m_date.get_day() << endl;
cout << m_date.get_year() << endl;
}
const ostream& operator<<(ostream& out, const Array& arr)
{
for (int i = 0; i < arr.m_length; i++) {
out << arr.m_datas[i] << ",";
}
out << endl;
return out;
}
void Testarr()
{
Array arr1(10);
arr1[0] = 10;
// arr1[1] = 10;
cout << arr1 << endl;
}
输出的时候第二个<<报错了
严重性 代码 说明 项目 文件 行 禁止显示状态
错误(活动) E0349 没有与这些操作数匹配的 "<<" 运算符 Re_Load D:\C++\Re_Load\Re_Load.cpp 73
https://en.cppreference.com/w/cpp/language/enum
请看示例代码,重载<<运算符之后才可以打印enum class。
https://en.cppreference.com/w/cpp/language/enum
请看示例代码,重载<<运算符之后才可以打印enum class。