前处理条基布置数据 Struct TI_TiaoJi_D 数据项 类型 编码 默认值 前处理条基编号 _T_KEY mNo 0 布置起点编号 _T_KEY mNodeNoS 0 布置终点编号 _T_KEY mNodeNoE 0 布置网格号 _T_KEY mGridNo 0 条基截面编号 _T_KEY mSectNo 0 布置偏心 double mEcc 0 条基底标高 double mBotHeght 0 底标高的相对坐标 bool IsBGAbs 1 转换成c++结构体 并给出注释和初始化函数,构造函数,析构函数;构造调用初始化函数,拷贝构造函数,重载=号,结构体名称:TI_TiaoJi_D, 分2。h和cpp实现
时间: 2023-08-17 11:04:02 浏览: 78
datastruct1_C语言_SHORTEST-PATHS_shortest path_哈夫曼编码_数据结构算法
以下是将上述数据项转换成C++结构体的代码:
```cpp
// TI_TiaoJi_D.h 文件
#pragma once
#include <string>
using namespace std;
struct TiTiaoJiD {
string mNo; // 前处理条基编号
string mNodeNoS; // 布置起点编号
string mNodeNoE; // 布置终点编号
string mGridNo; // 布置网格号
string mSectNo; // 条基截面编号
double mEcc; // 布置偏心
double mBotHeght; // 条基底标高
bool IsBGAbs; // 底标高的相对坐标
// 初始化函数
void init();
// 构造函数
TiTiaoJiD();
// 析构函数
~TiTiaoJiD();
// 拷贝构造函数
TiTiaoJiD(const TiTiaoJiD& other);
// 重载赋值运算符
TiTiaoJiD& operator=(const TiTiaoJiD& other);
};
```
```cpp
// TI_TiaoJi_D.cpp 文件
#include "TI_TiaoJi_D.h"
// 初始化函数
void TiTiaoJiD::init() {
mNo = "";
mNodeNoS = "";
mNodeNoE = "";
mGridNo = "";
mSectNo = "";
mEcc = 0;
mBotHeght = 0;
IsBGAbs = true;
}
// 构造函数
TiTiaoJiD::TiTiaoJiD() {
init();
}
// 析构函数
TiTiaoJiD::~TiTiaoJiD() {}
// 拷贝构造函数
TiTiaoJiD::TiTiaoJiD(const TiTiaoJiD& other) {
mNo = other.mNo;
mNodeNoS = other.mNodeNoS;
mNodeNoE = other.mNodeNoE;
mGridNo = other.mGridNo;
mSectNo = other.mSectNo;
mEcc = other.mEcc;
mBotHeght = other.mBotHeght;
IsBGAbs = other.IsBGAbs;
}
// 重载赋值运算符
TiTiaoJiD& TiTiaoJiD::operator=(const TiTiaoJiD& other) {
if (this == &other) {
return *this;
}
mNo = other.mNo;
mNodeNoS = other.mNodeNoS;
mNodeNoE = other.mNodeNoE;
mGridNo = other.mGridNo;
mSectNo = other.mSectNo;
mEcc = other.mEcc;
mBotHeght = other.mBotHeght;
IsBGAbs = other.IsBGAbs;
return *this;
}
```
注:
- `TiTiaoJiD` 是结构体的名称,可以根据实际情况进行修改。
- `TI_TiaoJi_D.h` 文件中包含了结构体的声明和头文件的包含。
- `TI_TiaoJi_D.cpp` 文件中包含了结构体的成员函数的实现。
- `init()` 函数用于初始化结构体中的所有成员变量。
- 构造函数和析构函数的实现为空,因为本结构体中没有动态分配的内存。
- 拷贝构造函数和重载赋值运算符的实现是将一个结构体对象的所有成员变量值赋给另一个结构体对象的所有成员变量。
阅读全文