构造函数

本文介绍了C++中的构造函数,包括构造函数的作用、声明、定义和使用方式。构造函数用于初始化类对象的private数据成员,并且存在默认构造函数,当没有提供显示的初始值时,会自动调用。如果没有定义默认构造函数,而类中定义了其他构造函数,会导致无法创建未初始化的对象。
摘要由CSDN通过智能技术生成

前言

C++的目标之一就是让用户使用类对象就像使用基本内置类型对象一样。

对基本内置类型而言,其初始化语法如下:

#include <iostream>

using namespace std;

int main() {
    int year = 2001;
    struct person{
        double height;
        double weigth;
    };
    person xiong = {
  180.0 , 150.0};

    cout << "OK!!!" << endl;
}

但是对于用户自定义类型而言,我们还无法适用常规的初始化语法:

#include <iostream>
#include <string>
#include "cmake-build-debug/Share.h"

using namespace std;

int main() {
    Share xiong;
    xiong.acquire("lenovo" , 100 , 16.6);//正确

    Share xiong = {
  "lenovo" , 100 , 16.6};//错误
}

究其原因,是因为Share类的数据成员访问状态是private,意味着程序不能直接访问数据成员,更不能给数据成员直接赋值了。

前面说过,对于private数据成员,只能通过类接口,也就是public成员函数进行访问。所以类专门设计了一种成员函数,来对类中的private数据成员进行赋值操作,即构造函数。

构造函数的声明

//
// Created by Administrator on 2017/3/7.
//
#ifndef PROJECT1_SHARE_H
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值