请教: 如何初始化const成员结构体!!!

hxblvc 2005-07-13 06:03:02
如:
//==================================

struct TEMP
{
int x;
int y;
};

class A
{
public:
A();

private:
const TEMP temp;
};

A::A()
: //我如何初始化temp??? 将她的值初始为: temp.x =1, temp.y=2
{

}

//========================================

注意: 不能修改TEMP结构体. 在实际应用中,我用到的是其它库里边的一个结构体.

谢谢了.
...全文
891 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
hxblvc 2005-07-14
  • 打赏
  • 举报
回复
结了.
多谢各位.

祝大家工作愉快.
xuanwenchao 2005-07-14
  • 打赏
  • 举报
回复
goodboy1881(奥本海默的沉默)(在java中与内存泄漏作斗争) 的方法已经不错了..........
defyer007 2005-07-14
  • 打赏
  • 举报
回复
同意用组合和继承的方法
楼上的内存拷贝的方法感觉有些小题大作了
Z_X_H 2005-07-14
  • 打赏
  • 举报
回复
用this指针和内存拷贝.
struct TEMP
{
int x;
int y;
};

class A
{
public:
A(int,int);

private:
const TEMP temp;
};

A::A(int x=0,int y=0)
//我如何初始化temp??? 将她的值初始为: temp.x =1, temp.y=2
{
memcpy((void*)&this->temp.x,new int(x),sizeof(int));
memcpy((void*)&this->temp.y,new int(y),sizeof(int));
}

//========================================

注意: 不能修改TEMP结构体. 在实际应用中,我用到的是其它库里边的一个结构体.
hxblvc 2005-07-14
  • 打赏
  • 举报
回复
现在在上班,一会下班就结贴,谢谢了.
hxblvc 2005-07-14
  • 打赏
  • 举报
回复
多谢各位.
hslinux 2005-07-13
  • 打赏
  • 举报
回复
个人习惯吧,,,
whatsouta 2005-07-13
  • 打赏
  • 举报
回复
我习惯了用组合……能不用继承就不用 :)

可否说说不用继承的理由??
whatsouta 2005-07-13
  • 打赏
  • 举报
回复
好办法
积木 2005-07-13
  • 打赏
  • 举报
回复
我习惯了用组合……能不用继承就不用 :)
antter 2005-07-13
  • 打赏
  • 举报
回复
楼上的楼上
antter 2005-07-13
  • 打赏
  • 举报
回复
楼上用继承不是更好?
struct TEMP_Wrapper:TEMP
{
TEMP_Wrapper(int xx,int yy)
{x=xx;y=yy;}
};
llf_hust 2005-07-13
  • 打赏
  • 举报
回复
#include<iostream.h>
struct TEMP
{
int x;
int y;
TEMP(int xx=0,int yy=0):x(xx),y(yy)
{
}
};

class A
{
public:
A(int x,int y);
void Display()
{
cout<<temp.x<<temp.y<<endl;
}
private:
const TEMP temp;
};

A::A(int x,int y):temp(x,y)//我如何初始化temp??? 将她的值初始为: temp.x =1, temp.y=2
{

}
int main()
{
A t(1,2);

t.Display();
return 0;
}
积木 2005-07-13
  • 打赏
  • 举报
回复
给你一个解决方案。
#include<iostream>
#include<cstdlib>
using namespace std;
struct TEMP
{
int x;
int y;
};

struct TEMP_Wrapper{
TEMP temp;
TEMP_Wrapper(int x,int y){
temp.x = x;
temp.y = y;
}
};

class A
{
public:
A();

private:
const TEMP_Wrapper temp;
};

A::A():temp(1,2) {

}
antter 2005-07-13
  • 打赏
  • 举报
回复
struct TEMP
{
int x;
int y;
};

class A
{
public:
A();
static const TEMP temp;

private:
};

A::A()
{

};
const TEMP A::temp={1,2};
antter 2005-07-13
  • 打赏
  • 举报
回复
struct TEMP
{
int x;
int y;
TEMP(int xx,int yy):
x(xx),y(yy){}
};

class A
{
public:
A();

private:
const TEMP temp;
};

A::A():
temp(1,2)//我如何初始化temp??? 将她的值初始为: temp.x =1, temp.y=2
{

}
int main()
{
A t;
return 0;
}
hxblvc 2005-07-13
  • 打赏
  • 举报
回复
to :foochow(恰似你的温柔]
谢谢.

注意: 不能修改TEMP结构体. 在实际应用中,我用到的是其它库里边的一个结构体.
foochow 2005-07-13
  • 打赏
  • 举报
回复
struct TEMP
{
int x;
int y;
TEMP(int x=0,int y=0):x(x),y(y){}
};
class A
{
public:
A(int x=0,int y=0):temp(x,y){}
private:
const TEMP temp;
};
A tent(1,2);
hxblvc 2005-07-13
  • 打赏
  • 举报
回复
我要下班了...

谢谢大家.

64,654

社区成员

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

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