社区
C++ 语言
帖子详情
怎样给static data member赋值?
KingI
2005-08-20 10:12:32
比如:
class A
{
static int i;
public:
...
};
class B
{
static int i;
public:
...
};
int A::i=10;
int B::i=5;
void main()
{
A a;
B b;
b=a; //怎样赋值?
...
}
...全文
189
9
打赏
收藏
怎样给static data member赋值?
比如: class A { static int i; public: ... }; class B { static int i; public: ... }; int A::i=10; int B::i=5; void main() { A a; B b; b=a; //怎样赋值? ... }
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
litroncn
2005-08-28
打赏
举报
回复
1. 可以重载=;
2. 在B类中定义构造函数B(const A a),b=a在a应用隐式转换.
3. 在A中定义operator b()用户定义的转换函数.
solarspark
2005-08-28
打赏
举报
回复
可能问的是初始化问题吧
在类的声明文件中类定义外初始化
至于修改,应该要静态成员函数才行。
SammyLan
2005-08-28
打赏
举报
回复
楼主问问题有点怪怪的
jixingzhong
2005-08-28
打赏
举报
回复
晕 ~ 楼主的问题明显不对啊 !
int A::i=10;
int B::i=5; 就是给static data member赋值了,这个和成员函数的定义形式有些类似!
看楼主的问题 好象是另外的问题,这个是不同类型之间的赋值,
估几楼主是要把 b.i = a.i 吧?
这样的话,直观的办法是用一个静态成员函数来处理,注意这里的权限问题 !
或者用 zhouhuahai(道号"虚无") 的方法也可以!
caocheng8230
2005-08-20
打赏
举报
回复
要在B或A中重载运算符=
zhouhuahai
2005-08-20
打赏
举报
回复
A中的operator =
A operator =(const B& b)
{
A a();
return a;
}
B到A的转换operator
operator A()
{
A a();
return a;
}
没办法,楼主的类比较简单,所以偶写的这两个也简单.
zhouhuahai
2005-08-20
打赏
举报
回复
楼主所说的好像有点文不对题.
怎样给static data member赋值?
程序中的int A::i=10; int B::i=5;便给static data member赋值了.
至于main()中的b = a;那是另一个问题了.
方案有二:
一是提供在A中提供operator = 二是提供从B到A的转换operator
KingI
2005-08-20
打赏
举报
回复
问题就在这,两个不同的类类型转换后怎么赋值?
必须要用成员函数吗?重载=好像不可以吧。
pdaliu
2005-08-20
打赏
举报
回复
得有成员函数才能赋值吧?
要不就重载等号~
这是两个不同的类啊!
转行做IT-第10章 常用类-String、
static
、Array等
本课程为想转行学IT的朋友量身定制,快速入门,轻松上手,让非计算机专业的同学能快速学会Java编程. 课程会从计算机的基本组成原理讲起,门槛低,实用性强,让大家轻松掌握一项编程技能。后期课程全部更新完毕后还会帮大家...
C++11给Non-
static
Data
Member
赋值
class Widget { private: int x{ 0 }; // fine, x's default value is 0 int y = 0; // also fine ...这里的一个背景是C++11允许了类在声明的时候直接给Non-
static
Data
Member
复值。 而在C++98,你要...
c++11类学习
在我们没有显式定义类的复制构造函数和
赋值
操作符的情况下,编译器会为我们生成默认的这两个函数: 默认的
赋值
函数以内存复制的形式完成对象的复制。 这种机制可以为我们节省很多编写复制构造函数和
赋值
操作符的时间...
C++学习笔记——(四)可变参数、
static
关键字、this关键字、友元函数和友元类
static
关键字 非类中
static
变量和函数 类中的
static
变量和函数 this关键字 友元 友元函数 友元类 可变参数 #include <iostream> #include <cstdarg> using namespace std; void test(int ...
C++开发:知识缺漏学习及ERROR集锦
1.内存释放问题 2.error: invalid use of non-
static
data
member
’XXX’ 3.error: passing xxx as ‘this’ argument of xxx discards qualifiers
C++ 语言
64,512
社区成员
250,633
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章