C++中构造函数的作用「建议收藏」

C++中构造函数的作用「建议收藏」构造函数用于解决类中的对象初始化的问题构造函数是一类特殊的函数,与其他的成员函数不同的是构造函数构造函数不需要用户来调用它,而是建立对象的时候自动的执行#include//#include”student.h”//#include//#includeusingnamespacestd;classTime{publi

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

构造函数用于解决类中的对象初始化的问题
构造函数是一类特殊的函数,与其他的成员函数不同的是构造函数构造函数不需要用户来调用它,而是建立对象的时候自动的执行

#include <iostream>
//#include "student.h"
//#include <string>
//#include <cstring>
using namespace std;
class Time
{ public:
    Time()    //构造函数必须与类的名称相同
    {                              //利用构造函数对对象中的数据成员进行初始化
        hour=0;
        minute=0;
        sec=0;

    }
    void set_time();
    void show_time();
private:
    int hour;
    int minute;
    int sec;

};
void Time::set_time() {
    cin>>hour;
    cin>>minute;
    cin>>sec;

}

void Time::show_time() {
    cout<<hour<<":"<<minute<<":"<<sec<<endl;

}
int main() {
    Time t1;
    t1.set_time();
    t1.show_time();
    Time t2;
    t2.show_time();

    return 0;
}

构造函数不需要用户调用,也不能够被用户调用。

带参数的构造函数

#include <iostream>
//#include "student.h"
//#include <string>
//#include <cstring>
using namespace std;
class Box{
public:
    Box(int,int,int);
    int volume();
private:
    int height;
    int width;
    int length;


};
Box::Box(int h, int w, int len) {
    height=h;
    width=w;
    length=len;
}
int Box::volume() {
    return height*width*length;
}
int main() {
   Box box1(12,25,36);   //建立对象box1并且指定对象的长宽高
    cout<<"the voluime of box1 is"<<box1.volume()<<endl;
    Box box2(15,65,32);
    cout <<"the volume of box2 is"<<box2.volume()<<endl;
    return 0;
}

带参数的构造函数中的形参,其对应的实参在定义对象时给定。
使用带有参数的构造函数可以方便的实现对不同的对象进行初始化。

#include <iostream>
//#include "student.h"
//#include <string>
//#include <cstring>
using namespace std;
class Box{
public:
    Box();
    Box(int h,int w,int len):height(h),width(w),length(len){}    //参数初始化列表使用形式
    声明一个有参的构造函数,用参数的初始化表对参数成员进行初始化
    int volume();
private:
    int height;
    int width;
    int length;


};
Box::Box() {
    height=5;
    width=8;
    length=23;
}
int Box::volume() {
    return height*width*length;
}
int main() {
   Box box1;   //建立对象box1并且指定对象的长宽高
    cout<<"the voluime of box1 is"<<box1.volume()<<endl;
    Box box2(15,65,32);
    cout <<"the volume of box2 is"<<box2.volume()<<endl;
    return 0;
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/197728.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Protel 99 SE 的坑

    Protel 99 SE 的坑作为一个电子爱好者,以前画电路图基本都是用笔在草稿纸上面直接画出电路图,然后焊板子~呵呵,有点简单粗暴,这样做的好处就是比较顺手,没那么多限制,但是EDA还是有必要学一下的,思来想去,还是学学Protel99se吧,第一次接触,各种懵比,还犯了许多低级错误,以及系统不兼容的坑,苦逼了…>>>坑1:添加元件库添加元件库:add/Remove选择sch路径点击ddb文件-add

    2022年5月30日
    58
  • Java中Calendar类的常用方法

    Java中Calendar类的常用方法Calendar类常用方法的记录:获取时间//使用默认时区和语言环境获得一个日历Calendarcal=Calendar.getInstance();//赋值时年月日时分秒常用的6个值,注意月份下标从0开始,所以取月份要+1System.out.println(“年:”+cal.get(Calendar.YEAR));System.ou

    2022年6月12日
    31
  • vue-router 详解

    vue-router 详解文章目录1、认识vue-router2、安装和使用vue-router1、认识vue-router目前前端流行的三大框架,都有自己的路由实现:Angular的ngRouterReact的ReactRouterVue的vue-routervue-router是Vue.js官方的路由插件,它和vue.js是深度集成的,适合用于构建单页面应用。我们可以访问其官方网站对其进行学习:https://router.vuejs.org/zh/vue-router是基于路由和组件的路由用户设定访问

    2022年7月11日
    24
  • 笛卡尔心形函数图像_笛卡尔心形曲线

    笛卡尔心形函数图像_笛卡尔心形曲线js绘制canvas图形varcr=document.getElementById(“cardioid”);varW=cr.width/2,H=cr.height/3,R=150;varc=cr.getContext(“2d”);varG=360,g=0,T=Math.PI*2,t=T/G;c.save();c.translate(W,…

    2022年10月17日
    2
  • macOS虚拟机安装全过程(VMware)

    macOS虚拟机安装全过程(VMware)​1.安装前的准备VMwareWorkspace16Pro要准备好,如果没有见我之前写的博客的前半部分;还有百度网盘,链接:百度网盘下载链接。2.下载macOS镜像这里提供3个版本的macOS镜像,越往下版本越新,下文以macOSBigSur11举例macOSEICaptian10.11:https://pan.baidu.com/s/1fagJkrFqq4FKA_HSB9Xhcgpwd=rvwz此系统适合配置较低的WindowsXP、Windows7老电脑..

    2022年8月16日
    9
  • ext.apply()_函数evaluate的应用

    ext.apply()_函数evaluate的应用转载网址:http://www.cnblogs.com/yin-jingyu/archive/2011/07/30/2122176.htmlapply的用法:    Ext中apply及applyIf方法的应用apply及applyIf方法都是用于实现把一个对象中的属性应用于另外一个对象中,相当于属性拷贝。不同的是apply将会覆盖目标对象中的属性,而apply

    2022年7月28日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号