c++面向对象小结(一)--构造函数 析构函数

类的构造函数

类的构造函数是一种特殊的成员函数,他会在每次创建类的新对象的时候执行,可用于为成员变量赋初始值指

使用初始化列表来初始化字段

line::line(double len):length(len)
{
    
}
//语法上就等同于
line::line(double len)
{
    length = len;
}


这位多个字段进行初始化时提供了便利

类的析构函数

类的析构函数也是一种特殊的成员函数,他会在每次删除创建的对象时执行
,他有助于在跳出程序前释放资源

#include<iostream>
using namespace std;
class line
{
    public:
        double getlength();
        void setlength(double len);
        line();
        ~line();
    private:
        double length;

};
line::line()
{
    cout<<"对象已经被创建"<<endl;
}
line::~line()
{
    cout<<"对象已经被删除"<<endl;
}
double line:: setlength(double len) length(len)
line::getlength()
{
    return length;
}
int main
{
    line a;
    a.setlength(6.0);
    cout<<"获得值为"<<a.setlength<<endl;
}


C++类的访问修饰符

数据隐藏是面向对象的一个重要特点,它防止函数直接访问类类型的内部成员,通过在类主体内部对各个区域标记访问说明符指定的,分别是public private protected。成员和类的默认访问修饰符是private.
公有成员public
公有成员public在程序中外部是可以访问的,不用通过成员函数来设置和访问公有成员的值
私有成员private
私有成员类外部不可访问,只有类和友元函数可以访问
保护成员protected
保护成员在派生类即子类是可以访问的

#include<iostream>
using namespace std;
class box
{

    
    
    protected:
        int height;
        int width;
        int length;
};
class smallbox:box  //子类
{
    public:
        
        void setvalues(int a ,int b, int c);
        int getvalues();
};
void smallbox::setvalues(int a ,int b, int c)
{
    height = a;
    width = b;
    length = c;
}
int smallbox::getvalues()
{
    return height*width*length;
}
int main()
{
    smallbox a;
    a.setvalues(2.0,4.0,6.0); //子类成员函数访问父类受保护成员
    cout<<a.getvalues()<<endl;
    return 0;
}
从菜鸟教程网学习,很推荐这个网站学习比较基础的知识http://www.runoob.com/cplusplus/cpp-classes-objects.html













评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值