您的位置:首页 > 编程语言 > C语言/C++

C++的初步知识(2)

2015-11-05 19:24 579 查看
1、类和对象的关系

类是对象的抽象,而对象是类的具体实例。

类是抽象的,不占用内存,对象是具体的,占用存储空间。

2、struct声明的类,如果对其成员不作private或public的声明,系统默认为public。如果想分别指定私有成员和共用成员,则应用private和public作显示声明。

class声明的类,如果对其成员不作private或public的声明,系统默认为private。如果想分别指定私有成员和共用成员,则应用private和public作显示声明。

3、为了减少时间开销,如果在类体中定义的成员函数中不包括循环等控制结构,C++系统自动地对它们作为内置(inline)函数来处理。类内定义的成员函数,可以省略inline。类体外定义的成员函数如果想要被指定为内置函数,需要用inline在前面做显式声明。inline
void Student::display( ){ }

4、类声明头文件是用户使用类库的公用接口。类声明和函数定义一般放在两个文件。

一个C++程序是由3个部分组成:

(1)类声明头文件(xxx.h)

(2)类实现文件(xxx.cpp)

(3)类的使用文件(xxx.cpp)

5、不能在类声明的时候对数据成员进行初始化

calss Time{

int hour = 0;
//错误

int min = 0;

int sec = 0;

};

类不是一个实体,而是一种抽象类型,不占用存储空间,无处容纳数据。

6、构造函数的名字必须与类名同名,不具有任何类型,不返回任何值,是公用成员。

7、采用带参数的构造函数,在调用不同对象的构造函数时,从外面将不同的数据传递给构造函数,以实现不同的初始化。

#include <iostream>

using namespace std;

class Box{
public:
Box(int,int,int);
int volume();
private:
int height;
int width;
int length; 

};

Box::Box(int h,int w,int l)

{
height = h;
width = w;
length = l;

}

int Box::volume()

{
return height*width*length;

}

int main()

{
Box box1(10,20,30),box2(1,2,3);
cout<<"box1's volume is "<<box1.volume()<<endl;
cout<<"box2's volume is "<<box2.volume()<<endl;
return 0;

}

8、构造函数的重载

#include <iostream>

using namespace std;

class Box{
public:
Box();
Box(int,int,int);
int volume();
private:
int height;
int width;
int length; 

};

Box::Box()

{
height = 10;
width = 10;
length = 10;

}

Box::Box(int h,int w,int l)

{
height = h;
width = w;
length = l;

}

int Box::volume()

{
return height*width*length;

}

int main()

{
Box box1;
//Box box1();错误
Box box2(1,2,3);
cout<<"box1's volume is "<<box1.volume()<<endl;
cout<<"box2's volume is "<<box2.volume()<<endl;
return 0;

}

9、析构函数

析构函数不是删除对象,而是在撤销对象占用的内存之前完成的一些清理工作,使这部分内存可以被程序分配给新对象使用。

析构函数不返回任何值,没有函数类型,没有函数参数。

先构造的后析构,后构造的先析构。先进后出。

10、对象数组

#include <iostream>

using namespace std;

class Box{
public:
Box();
Box(int,int,int);
int volume();
private:
int height;
int width;
int length; 

};

Box::Box()

{
height = 10;
width = 10;
length = 10;

}

Box::Box(int h,int w,int l)

{
height = h;
width = w;
length = l;

}

int Box::volume()

{
return height*width*length;

}

int main()

{
Box box1;
Box b[3] = {
Box(1,2,3),
Box(4,5,6),
Box(7,8,9)
};
cout<<"box1's volume is "<<box1.volume()<<endl;
cout<<"b[0]'s volume is "<<b[0].volume()<<endl;
cout<<"b[1]'s volume is "<<b[1].volume()<<endl;
cout<<"b[2]'s volume is "<<b[2].volume()<<endl;

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: