社区
图形处理/算法
帖子详情
关于类对象的赋值
gazxtzg
2003-09-29 01:52:32
CMyObject a="ABCD";
a="EFGH";
char* str=a;
为了使以上与局部产生编译错误,请问CMyObject函数头应该如何实现?
...全文
39
9
打赏
收藏
关于类对象的赋值
CMyObject a="ABCD"; a="EFGH"; char* str=a; 为了使以上与局部产生编译错误,请问CMyObject函数头应该如何实现?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
孤必有邻
2003-09-29
打赏
举报
回复
class CA
{
public:
CA(){}
CA(char * p){str=p;}
~CA(){}
public:
void operator = (char*p){str=p;str.MakeReverse();}
public:
CString str;
};
...
{
CA a("abcd");//构造函数
CA b="bcde";//构造函数
CA c;
c="ABCD";//没有operator=则是构造函数,有operator=则operator=
}
第三句不可能实现
bluebohe
2003-09-29
打赏
举报
回复
看一下CString类的源代码就知道了
bluebohe
2003-09-29
打赏
举报
回复
第一句的实现,注意初值要用一个参数的构造函数实现
CMyObject(const char *str);
第二句的实现,注意这时候要重载等号,返回值应该是this指向的对象
const CMyObject& operator =(const char *str);
第三句的实现,这时候要重载char*操作符,返回值是char*
operator char*() const;
akiko
2003-09-29
打赏
举报
回复
CMyObject
{
...
CMyObject(const char*);//CMyObject a="ABCD";
CMyObject& operator=(const char*);//a="EFGH";
operator char*() const;//char* str=a;
}
syl5005
2003-09-29
打赏
举报
回复
用构造函数吧.
Microsoftadherent
2003-09-29
打赏
举报
回复
也可以使用重载操作符,但是我觉得还是拷贝构造函数好一些。
Microsoftadherent
2003-09-29
打赏
举报
回复
第一二句我可以实现,第三句不知道如何实现,推荐使用拷贝构造函数,我可以给你个DEMO,
如果你需要。
gazxtzg
2003-09-29
打赏
举报
回复
我想问的是该如何实现CMyObject,为了让以上语句编译不产生错误
windows_editor
2003-09-29
打赏
举报
回复
//-----------CMkstruct.cpp-----------------
#include "stdafx.h" //这里加了没
#include "mkStruct.h"
CMkStruct::CMkStruct(void)
{
}
CMkStruct::~CMkStruct()
{
}
int CMkStruct::getValue()
{
return event;
}
void CMkStruct::setValue(int m)
{
event = m;
}
//----------CMkStruct.h------------
class CMkStruct
{
private:
int event;
public:
CMkStruct(void);
~CMkStruct(void);
int getValue(void);
void setValue(int m);
};
----------------------
CMkStruct myStruct;
myStruct.setValue(10);
myStruct.getValue();
C++零基础入门(C++11/C++14)
主要讲解struct、类与对象(其中C++11开始引入的移动构造、 移动
赋值
等非常重要!)、友元、运算符重载、继承(单继承、多继承、虚基类等)、 多态(虚函数、纯虚函数等)。 3) 模板篇: 自定义模板(template,包括函数...
C++编程语言中
类对象
的
赋值
与复制介绍(一)
本系列文章主要介绍 C++ 编程语言中
类对象
的
赋值
操作、复制操作,以及两者之间的区别,另外还会介绍“深拷贝”与“浅拷贝”的相关知识。 本文为系列文章的第一篇,主要介绍 C++ 编程语言中
类对象
的
赋值
的相关知识。 1 对象的
赋值
1.1 What 如同基本类型的
赋值
语句一样,同一个类的各个对象之间也是可以进行
赋值
操作的,即将一个对象的值赋给另一个对象。 需要说明的是,在
类对象
的
赋值
过程中,只会对类中的数据成员进行
赋值
,而不对成员函数
赋值
。 例如:obj1 和 obj2 是类 ClassA 的两个对
基类和派生
类对象
赋值
转换
基类和派生
类对象
赋值
转换 派生
类对象
可以
赋值
给基类的对象/基类的指针/基类的引用。这里有个 形象的说法叫切片或者切割。寓意把派生类中父类那部分切来
赋值
过去 基类不能
赋值
给派生
类对象
基类的指针可以通过强制类型转换
赋值
给派生类的指针。 但是必须是基类的指针是指向派生
类对象
时才是安全的。这里基类如果是多态类型,我们可以使用RTTI的dynamic_cast来进行识别后进行安全转换 举个栗子说一下...
C++
类对象
的复制与
赋值
本文主要介绍C++中
类对象
的
赋值
操作、复制操作,以及两者之间的区别,另外还会讲到“深拷贝”与“浅拷贝”的相关内容。 本系列内容会分为三篇文章进行讲解。 1 对象的
赋值
1.1 what 如同基本类型的
赋值
语句一样,同一个类的对象之间也是可以进行
赋值
操作的,即将一个对象的值赋给另一个对象。 对于
类对象
的
赋值
,只会对类中的数据成员进行
赋值
,而不对成员函数
赋值
。 例如:obj1 和 obj2 是同一类 ClassA 的两个对象,那么对象
赋值
语句“obj2 = obj1;” 就会把对象 obj1 的数据
java 对象
赋值
_java给对象
赋值
的方式
目的:1.了解对对象
赋值
的方式2.了解静态方法和实例方法3.了解成员变量的作用域4.了解自定义构造方法和构造方法技术:1.对对象
赋值
的方式:a.对于public修饰的属性使用对象直接使用b.对于private修饰的属性不能直接使用只能间接作用2.setter和getter方法给外部一个set方法通过这个方法间接给对象
赋值
,可以对外部给的值进行控制给外部一个get方法访问某个变量的值注意:建议将se...
图形处理/算法
19,468
社区成员
50,698
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章