敲代码的第二天:构造函数特点及实例(c++)

1.构造函数的作用:由于类是一个抽象概念,不是实体,所以不可以在声明时对数据成员进行初始化,此时即需要构造函数来为对象的属性赋初值。

2.构造函数的定义格式:

类名(形参){

        ...........

};

3.构造函数的特点(与普通方法的区别):

        a.方法名与类名相同:类名,构造方法名首字母大写,而普通方法中为小写;

        b.无返回值,也不用加void;

        c.构造函数对象创建时系统自动调用,而普通方法需要对象名.方法名调用。

4.构造函数的分类

        a. 显式构造函数:自行定义,可以有多个类型;

        b.隐式构造函数:由编译器生成(当类中一个显式构造方法都没有时)。

5.

        a.构造函数可以通过构造函数初始化列表给其数据成员赋值。

        eg:

        class A{

                int a;

                int  b;

public:

                A(int i,int j):b(j),a(i)

                        {            }

                        ...........

};

        b.构造函数如果在类外实现,类内声明时不带初始化列表。

        c.构造函数中可以使用默认参数值。

示例:

#include<iostream>
#include <string.h>

using namespace std;

class Student {
public:
    int age;
    char name[20];
    char address[20];
public:
    void sayHello(){
        cout<<"大家好!"<<endl;
    }
int add(int a,int b){
        int r = a+b;
        return r;
    }
};

int main(){
    Student zhangsan;
    zhangsan.age = 20;
    strcpy(zhangsan.name,"zhangsan");
    strcpy(zhangsan.address,"huxian");
    cout<<"zhangsan.age="<<zhangsan.age<<endl;
    cout<<"zhangsan.name="<<zhangsan.name<<endl;
    cout<<"zhangsan.address="<<zhangsan.address<<endl;
    zhangsan.sayHello();
    int r = zhangsan.add(1,1);
    cout<<"r = "<<r<<endl;
    Student lisi;
    return 0;
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值