精华内容
下载资源
问答
  • 在c++中不同的数据成员进行初始化的位置,和形式是各有不同的,下面根据我的理解简单说明一下:  下面我们建立一个: #include using namespace std; class InitiaMember { public: In
    在c++中对不同的数据成员进行初始化的位置,和形式是各有不同的,下面根据我的理解简单说明一下:

     下面我们建立一个类:

    #include<iostream.h>  
    using namespace std;  
    class InitiaMember  
    {  
     public:  
    InitiaMember();  
    static void StaticMember();  
    void Member();  
    void ConstMember() const;  
    static int staticmember;  
    private:  
    int member;  
    const int constmember;  
    static const int scmember = 400;//对静态的常量赋值  
    };  
    int InitiaMember::staticmember = 100;//对静态成员变量  
    InitiaMember::InitiaMember():constmember(200)//对常量赋值  
    {  
    member = 300;  
    }  
      
    void InitiaMember::StaticMember(){}//静态的成员函数不能调用非静态的成员变量  
    void InitiaMember::ConstMember() const{}//const函数不能企图改变非常量的成员变量  
    void InitiaMember::Member(){}  
    int main()  
    {  
    printf("%d\n",InitiaMember::staticmember);  
      
    } 


    原文地址http://www.360doc.com/content/10/1015/15/3267996_61220917.shtml#
    展开全文
  • 也可以使用类中的成员函数进行初始化相关变量,不需要传递参数,直接定义临时变量,然后临时变量进行的初始化,赋值给类的数据成员变量,完成数据成员的初始化工作。   #pragma once class CSetMineWnd {  ...

         可以使用构造函数进行过初始化数据成员,传参数是引用,或者不用传递参数直接进行初始化也可以:值得注意的是实参和形参的使用。

        也可以使用类中的成员函数进行初始化相关变量,不需要传递参数,直接定义临时变量,然后对临时变量进行的初始化,赋值给类的数据成员变量,完成对数据成员的初始化工作。

       

    #pragma once
    class CSetMineWnd
    {
     public:
      CSetMineWnd(void);
      ~CSetMineWnd(void);
      int SetMineWindow();
     //private:
      CREATESTRUCT m_RectWindow;

    };

     

     

    int CSetMineWnd::SetMineWindow()
    {
     int iRectCode = -1;
     //获得桌面的坐标,然后设置主窗口的位置
     RECT rect = {0};

     ::GetWindowRect(::GetDesktopWindow(),&rect);
     rect.left = rect.right - rect.left;
     rect.left /= 2;
     rect.top = rect.bottom - rect.top;
     rect.top /= 2;

     if( rect.left > 200)
     {
      rect.left -= 200;
     }
     if( rect.top > 150 )
     {
      rect.top -= 150;
     }

     rect.right = rect.left + 400;
     rect.bottom = rect.top + 300;

     CREATESTRUCT cs_TMain;

     cs_TMain.dwExStyle = 0;
     cs_TMain.lpszClass = NULL;
     cs_TMain.lpszName = NULL;
     cs_TMain.style = WS_OVERLAPPEDWINDOW;
    #if 1
     cs_TMain.x = rect.left;
     cs_TMain.y = rect.top;
     cs_TMain.cx = 400;
     cs_TMain.cy = 300;
    #endif
     cs_TMain.hwndParent = NULL;
     cs_TMain.hMenu = NULL;

     m_RectWindow = cs_TMain;//完成初始化工作

     return iRectCode;
    }

     

    展开全文
  • /* ... *All rights reserved. *文件名称:score.cpp ...*问题描述:在构造函数中使用参数初始化表对数据成员进行初始化。 *程序输入:无输入。 *程序输出:输出三角形边长 周长 面积。 */ #in
    /*
    *Copyright (c)2015,烟台大学计算机与控制工程学院
    *All rights reserved.
    *文件名称:score.cpp
    *作    者:惠睿
    *完成日期:2015年3月28日
    *版 本 号:v1.0
    *
    *问题描述:在构造函数中使用参数初始化表对数据成员进行初始化。
    *程序输入:无输入。
    *程序输出:输出三角形的边长 周长 面积。
    */
    #include <iostream>
    #include <cmath>
    using namespace std;
    class Triangle
    {
    public:
        Triangle():a(1),b(1),c(1){};
        Triangle(double aa,double bb,double cc):a(aa),b(bb),c(cc){};
        double perimeter();
        double area();
        void showMessage();
    private:
        double a,b,c;
    };
    void Triangle::showMessage()
    {
        cout<<"三角形的三边长分别为:"<<a<<' '<<b<<' '<<c<<endl;
        cout<<"该三角形的周长为"<<perimeter()<<",面积为:"<<area()<<endl<<endl;
    }
    int main(){
        Triangle Tri(7,8,9);
        Tri.showMessage();
        return 0;
    }
    double Triangle::perimeter()
    {
        return a+b+c;
    }
    double Triangle::area()
    {
        double p=(a+b+c)/2;
        return sqrt((p-a)*(p-b)*(p-c));
    }


    运行结果:

    展开全文
  • 首先要明白,两种方式都是通过构造函数来进行初始化,不同是定义构造函数方式。 以下都以在外定义构造函数为例。 假设已声明了公有或私有数据成员weight、height、length;且假设已声明了一个Box,那么它...

    首先要明白,两种方式都是通过构造函数来进行初始化,不同的是定义构造函数的方式。

    以下都以在类外定义构造函数为例。

    假设已声明了公有或私有数据成员weight、height、length;且假设已声明了一个类Box,那么它的构造函数也一定叫做Box。

    ①普通方式:

                          Box::Box(int h,int w,int len){
                                                       height=h;

                                                       weight=w;

                                                       length=len;}

                          则构造函数完成了对此类的初始化。

    ②  简单方式(应用参数初始化列表):

                         Box::Box(int h,int w,int len):height(h),weight(w),length(len){ } //注意,此语句同普通函数语句一样,结束后面无分号

     

    展开全文
  • 在c++中定义一个 ,对于构造函数 我们经常是这么写: class test { public: test(int n_x , int n_y) { x = n_x; y = n_y; } private: int x , y; }; 这中写法虽然是合法但比较草率 在构造函数 ...
  • 数据成员的初始化,这份工作主要是构造函数负责,构造函数职责之一就是对数据成员进行正确初始化。实际上,构造函数执行过程主要有两个阶段:  (1)初始化阶段  (2)普通计算阶段  初始化...
  • #include "stdafx.h" #include<iostream> using namespace std; class Term { public: const int x; Term( int c);... //错误,不能采用在构造函数中数据成员赋初值方法进行初始化 } ...
  • 1.常规方法: 假设定义了如下
  •  在c++的声明中,初始化数据成员除了在构造函数中用赋值语句进行外还提供一种成员初始化列表 实现数据成员的初始化。这种写法方便简练,在需要初始化的数据成员比较多时能够显示其优越性。 使用方法:   ...
  • 在c++中不同的数据成员进行初始化的位置,和形式是各有不同的,下面根据我的理解简单说明一下: 下面我们建立一个:#include using namespace std; class InitiaMember { public: InitiaMember(); stat
  • 1、在声明时,对数据成员的初始化工作一般在构造函数中用赋值语句进行。 例如: class Complex{ private: double real; double imag; public: Complex(double r,double i) //声明构造函数原型 { ...
  • 类不是实体,而是一种抽象数据类型,并不占存储空间,所以不能在类的声明中对类的数据成员进行初始化。 用构造函数实现数据成员的初始化 构造函数是一种特殊的成员函数,与其他成员函数不同,不需要用户调用它,在...
  • 在定义模板后,会面临如何模板数据成员变量进行初始化,对于用途十分明确模板,可以根据用途直接定义初始化类型。但对于通用模板,成员变量类型可能是基本类型,也可能是复合类型,所以需要使用通用...
  • 除了使用构造函数可以对类成员变量进行初始化,还可以使用参数初始化列表。这种方法不在函数体内对数据成员初始化,而是在函数首部实现。这样可以减少函数体长度。 举例如下: #include using namespace std...
  • C++ static数据成员的初始化

    千次阅读 2013-09-21 16:33:09
    c++static数据成员初始化的时候容易出现重定义错误,这里写出来提醒下自己,希望大家有点帮助。 static数据成员的初始化可以分为两种情况:第一种比较简单,是staticconst int 类型,它的初始化可以之间...
  • 1 // 在程序中 常常需要 变量进行初始化中怎样 对象进行初始化呢? 2 // 前面说过 是一种... 4 // 如果 一个 [[[中 所有成员]]] 都是 公用 则可以在 定义对象时 对数据成员 进行初始化 ( 和 结...
  • 类的const数据成员既不能和static成员一样直接给出值或者在类体外初始化,也不能在构造函数中初始化。 ... A():b(10){//只能在构造函数的初始化列表中进行初始化,其他地方均办不到 a = c =1
  • 那么当构造函数在类内实现的时候,一般构造函数的函数体仅仅是起到对类的私有数据成员进行初始化的作用。 这次就小小的总结一下,当构造函数在类内实现的时候,两种不同的对类的私有数据成员的初始化方式。 以点...
  • C++之数据成员初始化

    2019-05-16 13:24:33
    数据成员的初始化,这份工作主要是构造函数负责,构造函数职责之一就是对数据成员进行正确初始化。实际上,构造函数执行过程主要有两个阶段: (1)初始化阶段 (2)普通计算阶段 初始化阶段是指数据...
  • C++类成员初始化

    2020-12-19 14:19:41
    (这里包含了继承情况下,通过显示调用父类构造函数父类数据成员进行初始化);因为使用初始化列表可以不必调用默认构造函数来初始化,而是直接调用拷贝构造函数初始化。 二、需要初始化const修饰的类成员;(C++...
  • 又想到,在内声明时就可以对数据成员进行初始化(根据p64C++11新标准规定,可以为数据成员提供一个内初始值。创建对象时,内初始值将用于初始化数据成员。没有初始值成员将被默认初始化(p40))。 ...
  • 类的静态数据成员在类内定义...通常是在类成员函数实现的cpp文件中对类的静态数据成员进行初始化,如果在类定义的头文件或者是main函数单独所在的cpp文件中进行初始化的话均会报出编译错误。 正确用法举例如下: ...
  • C++类成员的初始化

    2016-06-27 14:37:17
    1、关于构造函数 1)用构造函数确保初始化 对于一个空 [cpp] view plain copy ...编译器会自动声明4个默认函数:构造函数,拷贝构造函数,赋值函数,析构函数(当然,如果...构造函数对数据成员进行初始化,使用
  • (1)需要初始化的数据成员时对象的情况(包含继承情况下,通过显示调用父类的构造函数父类数据成员进行初始化); (2)需要初始化const修饰的成员或初始化引用数据成员; (3)子类初始化父类的私有成员 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,530
精华内容 612
关键字:

对类的数据成员进行初始化