QT:成员类可以获得到主类(MainWindow)的指针吗

QT:成员类可以获得到主类(MainWindow)的指针吗,第1张

假如 对象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里的一些语句不懂,和一个指针问题;求解释~~、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9563454.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存