文章目录
C++基础
类与对象
将数据放在类的私有部分叫作数据隐藏。
类定义可以放在头文件中。
C++中默认访问是私有的,因此在类定义中不必使用关键字private。
class Wr //Wr类的定义
{
float mass;
char name[20];
public:
void tellall(); //类中的方法声明
Wr(float mass,char name[]); //构造函数
~Wr(); //析构函数
………………………………
};
//对Wr类中的普通成员函数tellall()进行定义,
//tellall函数里可直接调用Wr中的私有属性和方法。
void Wr::tellall()
{
}
构造函数
在进行对象初始化时会自动调用的函数就叫构造函数。
特点:
无返回值,void也不行,直接不写。
方法名就写类名。
构造重载:在有非默认的构造函数(即用户自定义的)的情况下,可以利用重载定义另一个构造函数-----一个没有参数的构造函数。
构造函数的定义:
Wr::Wr(float mass,int name)
{
}
构造函数的初始化列表
Wr::Wr(float mass,int name):this.mass(mass),this.name(name)
{
}
委派构造函数
当某一个类或者结构体含有多个构造函数,并且构造函数里面有许多相同的代码,那么可以把相同的代码抽取出来,写成一个通用的构造函数,其他构造函数通过委派上述通用的构造函数,达到减少代码书写量的目的。
例子:
class C {
C(int a_) {
work1();
work2();
work3();
a = a_;
}
C(int a_, double b_) {
work1();
work2();
work3();
b = b_;
}
C(int a_, char c_) {
work1();
work2();
work3();
c = c_;
}
private:
int a;
double b;
char c;
void work1();
void work2();
void work3();
};
上述类C拥有三个构造函数,但是它们都执行相同的一部分代码——work1、work2和work3。可以通过书写一个通用的构造函数,替换掉多余重复的代码。其中通用的构造函数叫做目标函数,委派目标函数的构造函数称为委派构造函数。
class C {
public:
C() {
//目标函数
work1();