急 请教C++的双冒号和单冒号运算符
CAboutDlg::CAboutDlg():CDialog(CAboutDlg::IDD)这个是什么意思在线等着呢,解释清楚立即结贴...
CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD) 这个是什么意思
在线等着呢,解释清楚立即结贴 展开
在线等着呢,解释清楚立即结贴 展开
展开全部
::是作用域,说明CAboutDlg是类内部的一个函数
:是初始化,由于CAboutDialog类从CDialog继承过来的,所以需要对其父类进行初始化
你这个原型应该是这样的
class CDialog
{
CDialog(UINT IDD);
}
class CAboutDlg : public CDialg
{
public:
CAboutDlg()
}
CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
这个是CAboutDlg的构造函数,由于CAboutDlg在构造时需要构造CDialog(没有父亲就没有儿子),所以在构造CAboutDlg时需要初始化CDialog类
由于你的构造函数CAboutDlg写在类外面,所以需要::来说明作用域是CAboutDlg类,而构造函数后面接初始化则需要用:,如果你的CAboutDlg类中还有成员变量比如 int i之类的,还可以接在后面继续来初始化如:CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD),i(10)
:表示初始化开始,如果多个成员初始化用,隔开。。
:是初始化,由于CAboutDialog类从CDialog继承过来的,所以需要对其父类进行初始化
你这个原型应该是这样的
class CDialog
{
CDialog(UINT IDD);
}
class CAboutDlg : public CDialg
{
public:
CAboutDlg()
}
CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
这个是CAboutDlg的构造函数,由于CAboutDlg在构造时需要构造CDialog(没有父亲就没有儿子),所以在构造CAboutDlg时需要初始化CDialog类
由于你的构造函数CAboutDlg写在类外面,所以需要::来说明作用域是CAboutDlg类,而构造函数后面接初始化则需要用:,如果你的CAboutDlg类中还有成员变量比如 int i之类的,还可以接在后面继续来初始化如:CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD),i(10)
:表示初始化开始,如果多个成员初始化用,隔开。。
展开全部
比如:
class jjlk
{
public:
static int a
}定义一个类,使用a的时候就可以jjlk::a
表示a是jjlk里面的成员!
又比如:
class i
{
};
class j : public i
{
}表示j 从i 公有地继承下来!!
class jjlk
{
public:
static int a
}定义一个类,使用a的时候就可以jjlk::a
表示a是jjlk里面的成员!
又比如:
class i
{
};
class j : public i
{
}表示j 从i 公有地继承下来!!
追问
我有这些最基础的知识,就是不懂它们和在一起的意思。
追答
组合起来就是了啊!!其实是一样的道理,其实C++是一门很规范的语言!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CAboutDlg::CAboutDlg() CAboutDlg类 CAboutDlg()构造函数
CAboutDlg::CAboutDlg()
{
}应该是这样的吧,对在类中只声明没有定义的函数在这定义吧。
CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
:继承
CAboutDlg::CAboutDlg()
{
}应该是这样的吧,对在类中只声明没有定义的函数在这定义吧。
CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
:继承
追问
你说的都是我知道的,我就是想问下它们和在一块的意思 还有(CAboutDlg::IDD)是什么东西?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
“:”一般用在继承类的时候;
而“::”用在类外函数编写,或者类外成员调用等。
而“::”用在类外函数编写,或者类外成员调用等。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询