
假如 对象A(就是问题中的MainWindow)中有对象B和对象C, 如果对象B的信号connect到对象C的槽函数, 只能是其中一个对象有另一对象的指针, 或者在对象A中connect
1、A c;A是自己定义的类,这里是定义了类型为A的指针c吗?
这里表示定义了类A的对象指针
2、d = c->m();m是一个定义好的函数,这句话是什么意思?执行(c->m())后再把值赋给d?c->m()具体是什么意思?他是不是和cm等价?对箭头 *** 作符不太懂……
因为C是A类的对象指针(其实也是一个对象),所以c可以->m(); 其中m()应该是类A的一个成员函数吧,是的话就表示对函数的调用! c->m()不等价于cm,而是等价于(c)m() 。
至于d = c->m();应该是赋值语句,应为我没看你的源程序所以我无法给你解答具体的含义。
3、c = new A(tr("/dev/video0"));A是定义好的类,这句话又是什么意思?
因为c是A的一个对象指针,所以c = new A(tr("/dev/video0"));就表示为c 动态分配一个存储A类 类型数据的内存,并用tr("/dev/video0")对它进行初始化。
内存空间申请
new 有三种格式
1、new 数据类型;
2、new 数据类型(初始化值);
3、new 数据类型 [常量表达式];
例如:
int p=new int;
float p=new float;
Student p=new Student; //Student 是学生类
p =4; //通过指针访问申请的内存空间 他也等于int p=new int(4);
cout<<p<<endl; //则输出4
还有就是 charstr=new char[100];//申请100个字符空间的数组,并把首地址赋给字符指针
最后还要注意释放内存 delete[ ] str;
从你的问题可以看出你“对类与对象”,“指针与数组”,动态内存空间申请掌握的并不好,下去一定要找相关资料好好研读,不然你以后的课程会很难学!
以上就是关于QT:成员类可以获得到主类(MainWindow)的指针吗全部的内容,包括:QT:成员类可以获得到主类(MainWindow)的指针吗、qt里的一些语句不懂,和一个指针问题;求解释~~、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)