社区
C语言
帖子详情
c++构造函数后的两点
smileme
2001-04-30 10:29:00
小弟在看c++的书时对类的构造函数后为何有时接两点(:)大为不解
例如:class Class{
public:
Class(int v):value(v)//就是这里
{ staticV++; }
~Class(){ staticV--; }
int Get(){ return value; }
static int GetStatic();
protected:
int value;
static int staticV;
};
请告诉我
...全文
187
15
打赏
收藏
c++构造函数后的两点
小弟在看c++的书时对类的构造函数后为何有时接两点(:)大为不解 例如:class Class{ public: Class(int v):value(v)//就是这里 { staticV++; } ~Class(){ staticV--; } int Get(){ return value; } static int GetStatic(); protected: int value; static int staticV; }; 请告诉我
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
l_little
2001-05-15
打赏
举报
回复
在A类中初始化B类对象,因为构造函数不象普通函数那样调用,
也可用于初始化变量
leo2u
2001-05-15
打赏
举报
回复
更正:同样的道理呗,表示在TForm1之前调用父类(TForm)的构造函数进行初始化
leo2u
2001-05-15
打赏
举报
回复
财同样的道理呗,表示在TForm1之前调用交类的构造函数
烟波三千里人鬼五百年
2001-05-06
打赏
举报
回复
class Class{
int value;//前面一定有value存在
public:
Class(int v):value(v)相当于下面的写法:
Class(int v){value=v;}
但更简洁.
skymost
2001-05-06
打赏
举报
回复
1
在构造函数后加:
再加上"数据成员(初值value)"可以实现一些在正常
情况下无法赋值的操作!如对类中的常量,或引用赋值
这才是:的最重要意义,在你的代码中
Class(int v):value(v)
即为将参数v的值赋给value ,当然,你也可以在一个公共
成员函数中实现它!
sxyid
2001-05-06
打赏
举报
回复
//我还有个BCB的问题--------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//TForm(Owner)之前的“:”表示什么?
sxyid
2001-05-06
打赏
举报
回复
我也有同样的问题,skymost(李天最)帮了的大忙,谢谢skymost(李天最)。
Whoisme
2001-05-06
打赏
举报
回复
前面的几位说的都是对的,以我的理解是:
如果所定义的类是由某个基类派生的,那么它在定义其public成员函数时,有必要把它的基类private成员初始化!
kenryHuang
2001-05-03
打赏
举报
回复
那是初始化参数表
在对引用和常量型的成员变量都要用此种方法来进行初始化
因为这两种变量是一旦初始化就不能改变的
sad_4978
2001-05-02
打赏
举报
回复
那是对保护成员函数赋初值,只是构造函数中含了参数.
例:
class Rectangle
{
private:
float length ,width;
public:
Rectangle(float l=0,float w=0);
float GetLength(void) const;
void PutLength(float l);
float GetWidth(void) const;
void PutWidth(float w);
float Perimeter(void) const;
float Area(void) const;
};
//------------------------------------------------
Rectangle::Rectangle(float l,float w): length(l),width(w)//将l赋值给length,w赋值给width.
{}
ycb_wizard
2001-05-01
打赏
举报
回复
对,就是初始化,具体你的例子就是初始化value的值,value的值为V.
cber
2001-04-30
打赏
举报
回复
member initialization list
用于初始化一些member,尤其是下面的几种动作,一定要在member initialization list中初始化:
reference member的初始化
const member的初始化
base class subobject的有参数的初始化
member class的有参数的初始化
以上抄自inside C++ object model:)
duststar
2001-04-30
打赏
举报
回复
当类是派生的,或类里有其他类成员。基类或是类成员需要参数构造时,就运用这个形式。有时候,如果是成员需要参数时,也可以在构造函数里实现同样的功能。
向你给的例子,就可以在构造函数中写:
value=v;效果是一样的。
有什么问题和我联络:dust2000@sohu.com
magicblue
2001-04-30
打赏
举报
回复
这是基本语法,它表示value这个数据成员要在构造函数构造对象之前就已初始化(所以它的位置在构造函数的左括号之前)建议看看基础的书籍
myan
2001-04-30
打赏
举报
回复
初始化行,为class member等提供初始化的机会。
腾讯2012笔试题目
腾讯2012笔试题目,包含很多普及型很高的题目
C++
子类的
构造函数
后面加:冒号的作用
在
C++
类的
构造函数
中经常会看到如下格式的写法: MyWindow::MyWindow(QWidget* parent , Qt::WindowFlags flag) : QMainWindow(parent,flag) 上述语句中单冒号(:)的作用是表示后面是初始化列表,一般有三种使用场景。 1、对父类进行初始化 调用格式为“子类
构造函数
: 父类
构造函数
”,如下,其中QMainWin...
【
C++
】
构造函数
详解
本篇博客主要介绍一下
C++
中的
构造函数
及拷贝
构造函数
的特性及用法,至于与这一部分有关的析构函数及运算符重载等内容就放在下次。
构造函数
是特殊的成员函数,
构造函数
千万不要认为它是用来创建对象的,其实
构造函数
的主要任务并不是开空间创建对象,而是初始化对象。关于
构造函数
,可以理解为使用类实例化对象时,每一个对象都要进行初始化,都要进行调用初始化函数,这个操作是实例化对象的必要操作,那么有没有更好的方式来简化这个调用操作。于是
C++
便推出了
构造函数
本篇博文对
构造函数
做了一个较为详细的介绍,不知道对你有没有帮助呢。
C++
构造函数
之委托
构造函数
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、委托
构造函数
是什么?二、使用方式1.函数形式总结 前言
C++
11新标准允许用户定义一个委托
构造函数
,来使用该类的其他
构造函数
执行自己的初始化过程,这样做的好处是是可以让代码更简洁,节省重复的代码。 提示:以下是本篇文章正文内容,下面案例可供参考 一、委托
构造函数
是什么? 委托
构造函数
是
C++
11新允许的一种
构造函数
类型,区别于普通的
构造函数
,它可以使用所属类里的其他
构造函数
,类似于功能外包。 二、使用方式 1.函数形式
C++
构造函数
总结
一. 什么是拷贝
构造函数
首先对于普通类型的对象来说,它们之间的复制是很简单的,例如: int a = 100; int b = a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。 下面看一个类对象拷贝的简单例子。 #include <iostream> using namespace std; class CExample { private: int a; public: //
构造函数
CExample(int b)
C语言
70,037
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章