c++类静态成员变量初始化初始化问题, 为什么无法输出输入的名字

新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
小富即安, 积分 2692, 距离下一级还需 2308 积分
论坛徽章:0
如果是结构体,只要memset一句话就搞定了。
或者直接定义的时候初始化:Struct s1 = {0};&&也是一句话搞定。
气死,C++的类不会帮你自动清零。咋整?
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
论坛徽章:1
不会自动,你还不会手动呀?
小富即安, 积分 2692, 距离下一级还需 2308 积分
论坛徽章:0
我是不会一个一个手动,太笨了。。
能不能直接这样:
memset(&class, 0, sizeof(class));
白手起家, 积分 36, 距离下一级还需 164 积分
论坛徽章:0
我是不会一个一个手动,太笨了。。
能不能直接这样:
memset(&class, 0, sizeof(class));
maxxfire 发表于
稍有积蓄, 积分 347, 距离下一级还需 153 积分
论坛徽章:0
& & 类是更复杂的结构体,编译的时候不会简单的赋值。。。。
所以每个类都有自己构造函数。。。。。。
类只能通过构造函数初始化。。。。
白手起家, 积分 24, 距离下一级还需 176 积分
论坛徽章:0
看是什么样的类了吧,不带虚函数的话,应该是可以memset来初始化的。
小富即安, 积分 4195, 距离下一级还需 805 积分
论坛徽章:209
出个馊主意,你把类的数据成员都放到一个结构中{:3_189:}
小富即安, 积分 2692, 距离下一级还需 2308 积分
论坛徽章:0
如果我给类添加一个数据成员,我不能忘记在构造函数中初始化它。。
如果构造函数有多个,那得全部加,不能遗漏任何一个。。
很多陷阱啊。。真是危险。。
小富即安, 积分 2692, 距离下一级还需 2308 积分
论坛徽章:0
出个馊主意,你把类的数据成员都放到一个结构中
hellioncu 发表于
& & 不行,数据有不同权限,不能一起放。有些可能是public,有些是protected
白手起家, 积分 24, 距离下一级还需 176 积分
论坛徽章:0
不行,数据有不同权限,不能一起放。有些可能是public,有些是protected
maxxfire 发表于
也是可以的啊。c++中的类和结构,除了默认权限不同,没啥区别的。C++中各种类型的成员变量的初始化方法(ZZ)_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
C++中各种类型的成员变量的初始化方法(ZZ)
上传于||暂无简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩1页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢C++成员变量初始化的几点思考 - 推酷
C++成员变量初始化的几点思考
最近在学习QT,使用Qt 设计设计的界面,会多一个中间层Ui::MainWindow,它被用来初始化界面,但是界面的逻辑需要再创建一个类来实现。一般这个类的命名是不带前缀的同名类,即MainWindow,《C++ GUI Qt 4 编程》书中介绍的方法是让这个类直接继承Ui::MainWindow和Ui::MainWindow的父类。在研究这个问题的时候,发现如果在继承列表里面调整顺序,则编译不通过。网上搜索发现,约定必须要把QT类放在第一位,既然是约定就不说了。不过在网上提了一个相关的问题,
。其中答案给我很大的帮助,作者说到,一般并不会直接继承。而是创建一个Ui::MainWindow类型的成员变量。在尝试创建这个成员变量的时候遇到了一些问题,在此做一个总结。
成员变量可以以以下三种形式存在
对于引用和指针
引用比指针更安全,不存在空的引用,但是指针可能为空,指针在使用之前一定要检查是不是空。 两者在调用成员的时候也是不一样的,对象或者引用可以使用
,而指针要使用
所以一般来讲使用引用要好一些,但是也正是因为引用不能为空,所以在构造函数里面必须要初始化对象或者引用。
对于引用,采用以下形式。注意,这里是把ui绑定到
UI,后者可以是引用或者是一个对象,此时前者是引用或者对象都可以。但是如果后者是一个对象,而前者是一个引用,则会出现警告:**binding reference member 'ui' to stack allocated parameter '
UI'**,一般常见的还是两者均为引用。
MainWindow::MainWindow(Ui::MainWindow &_UI,QWidget *parent)
:QMainWindow(parent),ui(_UI)
ui.setupUi(this);
请注意下面这种形式,比上面少了一个参数,这里想要通过
Ui::MainWindow()
为ui初始化,创建的是一个无名临时变量,是不可以被绑定到非const类型的左值的。会出现错误:
non-const lvalue reference to type ‘ Ui::MainWindow ' cannot bind to a temporary of type ' Ui::MainWindow '
同时由于成员变量ui是一个引用或对象,那么不能使用
new Ui::MainWindow
这种形式。
MainWindow::MainWindow(QWidget *parent)
:QMainWindow(parent),ui(Ui::MainWindow())
ui.setupUi(this);
我猜测如果成员变量是一个对象或者引用的话,那就只能多一个参数,在外面初始化为有名的变量后传递进来才行。
int main(int argc,char *argv[])
QApplication app(argc,argv);
Ui::MainWindow _UI = Ui::MainWindow();
MainWindow *mainwindow = new MainWindow(_UI);//这里传进构造函数
mainwindow-&show();
app.exec();
cpp Ui::MainWindow*
MainWindow::MainWindow(QWidget *parent)
:QMainWindow(parent),ui(new Ui::MainWindow)
ui-&setupUi(this);
这里可以直接在初始化列表里面使用
new Ui::MainWindow
来进行初始化,构造函数少一个参数。 也不需要在外面把有名变量传递进行做初始化
int main(int argc,char *argv[])
QApplication app(argc,argv);
MainWindow *mainwindow = new MainWindow;
mainwindow-&show();
app.exec();
现在有一点不明白,成员变量使用引用和对象形式有什么优劣,目前所了解的一个缺点就是上面所说的,如果成员变量是一个对象,那么构造函数的参数也要是一个对象,如果是引用就会出现警告。那如果参数是一个引用,就类似传值的方式了,似乎会多创建一个对象副本。而如果是引用的方式则为传址的方式,似乎更具优势。
参考资料:
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致&&/&&&&/&&&&/&&&&/&&
本章内容:

我要回帖

更多关于 静态成员变量初始化 的文章

 

随机推荐