C++ 面向对象编程 构造函数

                                          C++ 面向对象编程 


C++只为对象的数据成员变量分配存储单元
     
怎样进行理解呢?
 看代码:

#include<iostream>
#include<string.h>
using namespace std;

class Student
{
    public :
    int nu;   //表示学号
    char name[20];
    public :
        void setValue(int num, char sn[20]);
        void disStudent();
};
void Student::setValue(int num, char sn[20])
{
    nu = num;
    strcpy(name , sn);
}
void Student::disStudent()
{
    cout<<" 学号:"<<nu<<" 姓名:"<<name<<endl;
}
int main()
{
    //这里目的主要是检验程序 C++ 只为对象数据成员分配空间
    Student s1, s2;
    s1.setValue(10001, "Xiaoming");
    s2.setValue(10002, "Xiaohong");
    s1.disStudent();
    s2.disStudent();
    cout<<sizeof(s1)<<" "<<sizeof(s1.nu)<<" "<<sizeof(s1.name)<<endl;
    cout<<sizeof(s2)<<" "<<sizeof(s2.nu)<<" "<<sizeof(s2.name)<<endl;

    return 0;
}




构造函数的使用
            
构造函数是一种特殊的函数, 函数名与类名相同, 主要用来对类进行初始化操作 
有: 无参数构造函数, 和有参数构造函数
 看代码:
#include<iostream>
using namespace std;
class Rectangle
{
    int x1, y1, x2, y2;
    public :
        Rectangle()
        {//无参数构造函数
            x1 = 0 ; x2 = 0, y1 = 0 ; y2 = 0 ;
        }
        //有参数构造函数
        Rectangle(int a1, int b1, int a2, int b2)
        {
            x1 = a1;
            y1 = b1;
            x2 = a2;
            y2 = b2;
        }
        int Area()
        {
            return (x1-x2)*(y1- y2);
        }
};
int main()
{
    //下面开始验证
    Rectangle s1(1, 2, 3, 4);
    cout<<"矩形s1的面积: "<<s1.Area()<<endl;
    Rectangle s2;      //默认的构造函数
    cout<<"矩形s2的面积: "<<s2.Area()<<endl;
    return 0;
}





wangxiaoming CSDN认证博客专家 架构 Spring Boot Redis
博客是很好的总结和记录工具,如果有问题,来不及回复,关注微信公众号:程序员开发者社区,获取我的联系方式,向我提问,也可以给我发送邮件,联系 1275801617@qq.com
©️2020 CSDN 皮肤主题: Age of Ai 设计师: meimeiellie 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值