类的构造函数
类的构造函数是一种特殊的成员函数,他会在每次创建类的新对象的时候执行,可用于为成员变量赋初始值指使用初始化列表来初始化字段
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