类成员有容器,给对象赋值不成功问题~~

yym86202 2021-04-12 06:50:57
直接上代码,定义了一个线段类

#pragma once

#include<vector>
using namespace std;
class line
{
private:
CString name; //曲线名
float min; //最小值
float max; //最大值
public:
vector<int> value;//曲线值
line(void);
~line(void);
line( TCHAR * m_name, float m_min, float m_max);
void Set_name(CString name); //设置曲线名
void Set_min(float min); //设置最小值
void Set_max(float max); //设置最大值

CString return_name(); //返回曲线名
float return_min(); //返回最小值
float return_max(); //返回最大值
};


#include "StdAfx.h"
#include "line.h"
//#include "afxtempl.h"



line::line(void)
{
name = _T("");
min = 0;
max = 0;
}


line::~line(void)
{
//delete []name;
}
line::line( TCHAR * m_name, float m_min, float m_max)
{

this->name=m_name;
this->min = m_min;
this->max = m_max;
}
void line::Set_name(CString m_name) //设置姓名
{
this->name= m_name;
}
void line::Set_min(float m_min) //设置最小值
{
this->min = m_min;
}
void line::Set_max(float m_max) //设置最大值
{
this->max = m_max;
}

CString line::return_name() //返回曲线名
{
return name;
}
float line::return_min() //返回最小值
{
return min;
}
float line::return_max() //返回最大值
{
return max;
}

在主程序中新建了对象
line NCO=line(_T("C/O"), 0.4, 0.6);
新建了一个数组
line *arrline[]={&NCO,&NCO1};
给对象的容器赋值NCO.value.push_back(5);
最后通过数组arrline[0]->value[0]去读取数据,发现结果始终是0,求大神指点??直接读NCO.value[0]也是0,感觉容器的值就没进去~~但是我看NCO.value.capacity();已经变成1了啊~~
...全文
362 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
待续_1006 2021-04-21
  • 打赏
  • 举报
回复
调试的数据格式为16进制了吧?换成10进制的
tiger波波 2021-04-13
  • 打赏
  • 举报
回复
函数完整代码帖出来看看。line NCO是不是局部变量出了作用域了?
yym86202 2021-04-13
  • 打赏
  • 举报
回复
这是调试的结果,发现push_back没有数据~~
yym86202 2021-04-13
  • 打赏
  • 举报
回复
函数代码太长,
line NCO=line(_T("C/O"), 0.4, 0.6);
line *arrline[]={&NCO,&NCO1};
这两个函数是在主程序最前面定义得全局变量,push_back赋值是在后面得函数里面直接调用得这个对象,没有传递对象参数。
void CoilDlg::convert_data(unsigned short* TeeChartArray1, unsigned short* TeeChartArray2,
unsigned short* TeeChartArray3, unsigned short* TeeChartArray4,
unsigned short* TeeChartArray5, unsigned short* TeeChartArray6,
unsigned short* TeeChartArray7, unsigned short* TeeChartArray8,float deep_nm)
内容概要:本文档详细介绍了基于Cplex求解器的风光制氢合成氨系统优化研究,通过Matlab代码实现对这一复杂可再生能源系统的建模与优化分析。研究聚焦于风能、光伏等可再生能源耦合电解水制氢并进一步合成氨的综合能源系统,重点解决系统在容量配置与运行调度方面的协同优化问题。采用Cplex求解器进行高效的混合整数线性规划(MILP)求解,实现了对系统经济性、能效性、环境可持续性的多目标优化,涵盖设备选型与容量设计、能量流分配、运行策略制定、制氢与合成氨工艺集成等关键技术环节。该研究为高比例可再生能源消纳、绿氢规模化生产及绿色化工转型提供了重要的理论依据与可行的技术路径。; 适合人群:具备电力系统、能源系统、运筹学或化工过程系统工程等相关背景,熟悉Matlab编程与数学建模方法,从事新能源、氢能、综合能源系统、绿色化工等领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:① 学习并复现高水平学术论文中关于风光制氢合成氨系统的优化模型构建方法;② 掌握利用Cplex求解器解决复杂能源系统混合整数线性规划(MILP)问题的核心技术与实践流程;③ 为自身的科研项目或工程应用提供系统建模、优化算法实现与代码参考的坚实基础。; 阅读建议:学习者应结合所提供的Matlab代码与相关参考文献,深入剖析模型的物理意义、数学推导过程、约束条件的设定逻辑以及目标函数的设计思路,特别关注Cplex与Matlab的接口调用与数据传递机制,并建议通过调整关键参数(如可再生能源出力、设备效率、成本系数等)进行敏感性分析,以全面理解系统优化的内在机理与决策影响。

16,550

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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