C++问题求解,在类中为什么不能给数据成员初始化值:
#include<iostream>#include<fstream>usingnamespacestd;classA{public:inta=10;//为什么这样编辑就...
#include<iostream>
#include<fstream>
using namespace std;
class A
{
public:
int a=10;//为什么这样编辑就会出错,而把它改成static const int a=10这样就可以了呢 这又是为什么噢?
}; 展开
#include<fstream>
using namespace std;
class A
{
public:
int a=10;//为什么这样编辑就会出错,而把它改成static const int a=10这样就可以了呢 这又是为什么噢?
}; 展开
6个回答
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
展开全部
之前是因为:类的定义实际上相当于是类型的声明,并没有分配存储空间,初始化后的数据没有地方存放,类实例化以后才会有实体存储地址以及空间。
不过在C++11标准允许在类定义时初始化数据成员了,像我现在用Visual studio2017开发c++程序,可以在类体中初始化非静态数据成员。
不过在C++11标准允许在类定义时初始化数据成员了,像我现在用Visual studio2017开发c++程序,可以在类体中初始化非静态数据成员。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为类不能分配内存空间,只能声明有哪些变量,初始化要在构造函数中完成
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-09-13
展开全部
类中给成员初始化必须用初始化列表
class A
{
int a;
public:
A ():a(10){}
};
class A
{
int a;
public:
A ():a(10){}
};
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C++11,已经可以实现类内初始化了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询