类的声明:
#ifndef AAAA_H
#define AAAA_H
#include <QtGui/QWidget>
#include "ui_111111111.h"
class MyClass : public QWidget
{
Q_OBJECT
public:
MyClass(QWidget *parent = 0);
~MyClass();
private:
int a;
Ui::MyClassClass ui;
};
#endif // AAAA_H
-------------------------------------------------------------------------------------
类的实现:
#include "111111111.h"
MyClass::MyClass(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);
}
MyClass::~MyClass()
{
}
-------------------------------------------------------------------------------------
类对象的声明:
#include <QtGui/QApplication>
#include "111111111.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MyClass w;
w.show();
a.connect(&a, SIGNAL(lastWindowClosed()), &a, SLOT(quit()));
return a.exec();
}
==========================================
问题:
1、QApplication a(argc, argv); 和 QApplication a = new QApplication(argc, argv)有区别吗?
2、MyClass w; 这种声明方式和 MyClass w = new MyClass();的区别?
3、当声明一个类的变量后,这个对象具体指什么东西?
eg:MyClass w;(有没有分配w对象的存储空间?)
w指向内存快的一块区域?
4、MyClass *PMy = new MyClass();
这样声明是不是声明一个指向类对象w的存储区域的指针(指向指针的指针?)?他和w的区别?
5、MyClass &ref = PMy;
这里的ref有时指的什么?在内存中是什么东西?
6、this->a,这里的this指什么,在内存中是什么?
7、直接 用类名MyClass来操作一些成员对象,这里的类名又是指的什么?在内存中是什么样的形态?呵呵,一下问了这么多问题,这是我在学习C++过程中遇到的若干问题,我较为关注一个变量或对象或其他的东西,一旦声明或者分配空间之后,在内存中是一种什么样的形态,这样,我可能就会理解的更为透彻些。
还望大虾们指点。谢谢。[ 此贴被selong在2006-01-11 20:36重新编辑 ]