求助 声明友元函数 依然无法访问private数据

qq_30499345 2018-07-15 03:19:38
Coordinate.h
#ifndef COORDINATE_H
#define COORDINATE_H
class Coordinate
{
friend ostream & operator<<(ostream& out, Coordinate & coor);
friend Coordinate operator+(const Coordinate &c1, const Coordinate &c2);
private:
int m_iX;
int m_iY;
public:
Coordinate(int x, int y);
int getX();
int getY();

/*Coordinate operator+(const Coordinate &c);*/
};
#endif

Coordinate.cpp
#include "Coordiante.h"
#include<iostream>
#include<ostream>
using namespace std;


Coordinate::Coordinate(int x, int y)
{
m_iX = x;
m_iY = y;
}

int Coordinate::getX()
{
return m_iX;
}

int Coordinate::getY()
{
return m_iY;
}

//Coordinate Coordinate::operator+(const Coordinate & c)
//{
// Coordinate temp(0,0);
// temp.m_iX = this->m_iX + c.m_iX;
// temp.m_iY = this->m_iY + c.m_iY;
// return temp;
//}

ostream & operator<<(ostream & out, Coordinate & coor)
{
out << coor.m_iX << ":" << coor.m_iY ;
return out;
}

Coordinate operator+(const Coordinate & c1, const Coordinate & c2)
{
Coordinate temp(0,0);
temp.m_iX = c1.m_iX + c2.m_iX;
temp.m_iY = c1.m_iY + c2.m_iY;
return temp;
}

demo.cpp
#include"Coordiante.h"
#include<iostream>
using namespace std;

int main()
{
Coordinate c1(1, 3);
Coordinate c2(2, 3);
Coordinate c3(0, 0);
c3 = c1 + c2;
cout << c3<<endl;
system("pause");
}

IDE环境是VS2016 问题在于定义输出符号的重载的时候,VS提示无法访问m_iX 和m_iY
...全文
136 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
内容概要:本文围绕“单相逆变器闭环逆变电路PWM模型仿真研究”展开,基于Simulink平台构建单相逆变器的闭环控制系统仿真模型,重点研究PWM调制技术在逆变电路中的应用与实现。文中详细阐述了系统架构设计、电压电流双闭环控制策略的实现原理、控制器参数设计及仿真建模全过程,并通过仿真结果验证了控制方案在动态响应、稳态精度与系统稳定性方面的有效性。同时,文档还涵盖多种电力电子系统典型应用场景,如多类型短路故障仿真(中性点不接地、经小电阻接地、经消弧线圈接地等)、软开关技术、微电网能量管理、MPPT控制等,体现出较强的技术综合性和工程实践价值。; 适合人群:电气工程、自动化、电力电子与新能源等相关专业的高校本科生、研究生、科研人员,以及从事电力系统仿真、逆变器设计与新能源并网技术研发的工程技术人员。; 使用场景及目标:①掌握基于Simulink的单相逆变器闭环控制系统建模与PWM仿真方法;②深入理解双闭环控制、SPWM/SVPWM调制、系统稳定性分析等核心技术原理;③为课程设计、毕业设计、科研项目或实际工程开发提供可复用的仿真模型与技术支持; 阅读建议:建议结合文中仿真模型动手实践,重点掌握PI控制器参数整定、PWM信号生成机制与仿真结果分析方法,同时可延伸学习文档中涉及的软开关、故障仿真、微电网控制等关联技术,以拓展系统级设计能力。

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧