我定義了一個線段類,代碼如下:
#pragma once
#include<vector>
using namespace std;
class line
{
private:
CString name; //曲線名
float min; //最小值
float max; //最大值
Color line_color; //顏色值
int line_path; //軌道
int line_width; //線寬
public:
vector<float> value;//曲線值
line(void);
~line(void);
line( TCHAR * m_name, float m_min, float m_max,Color m_line_color,int m_line_path,int m_line_width);
void Set_name(CString name); //設定曲線名
void Set_min(float min); //設定最小值
void Set_max(float max); //設定最大值
void Set_color(Color line_color); //設定顏色
void Set_path(int line_path); //設定軌道
void Set_width(int line_width); //設定線寬
CString return_name(); //回傳曲線名
float return_min(); //回傳最小值
float return_max(); //回傳最大值
Color return_color(); //回傳顏色值
int return_path(); //回傳軌道值
int return_width(); //回傳線寬值
};
#include "StdAfx.h"
#include "line.h"
//#include "afxtempl.h"
line::line(void)
{
// id = yuwen = shuxue = NULL;
name = _T("");
min = 0;
max = 0;
line_color=Color(0,0,0);
line_path=0;
line_width=1;
}
line::~line(void)
{
//delete []name;
}
line::line( TCHAR * m_name, float m_min, float m_max,Color m_line_color,int m_line_path,int m_line_width)
{
this->name=m_name;
this->min = m_min;
this->max = m_max;
this->line_color = m_line_color;
this->line_path = m_line_path;
this->line_width = m_line_width;
}
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;
}
void line::Set_color(Color m_line_color) //設定顏色
{
this->line_color = m_line_color;
}
void line::Set_path(int m_line_path) //設定軌道
{
this->line_path = m_line_path;
}
void line::Set_width(int m_line_width) //設定線寬
{
this->line_width = m_line_width;
}
CString line::return_name() //回傳曲線名
{
return name;
}
float line::return_min() //回傳最小值
{
return min;
}
float line::return_max() //回傳最大值
{
return max;
}
Color line::return_color() //回傳顏色值
{
return line_color;
}
int line::return_path() //回傳軌道值
{
return line_path;
}
int line::return_width() //回傳線寬值
{
return line_width;
}
在主程式中定義了一個物件line NCO=line(_T("近C/O"), 0.4, 0.6, Color(0,0,0), 1, 1);
然后放入了陣列line arrline[12]={NCO,。。。。。}中,我通過NCO.value.push_back(1)輸入了一個值,然后通過arrline[0].value[0]為啥讀取不到值?應該怎么修改,求大神指點?是需要把vector<float> value也放到私有成員里面么?這種我又不知道函式ine::line( TCHAR * m_name, float m_min, float m_max,Color m_line_color,int m_line_path,int m_line_width)結構初始化的時候怎么弄~~
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/244896.html
標籤:基礎類
