C++类类型的讲解
前言
C++
是面向对象的语言,类类形是实现面向对象的主要形式,可以说类是C++的核心. 想要完全学会类要花很长的时间,对于我们竞赛而言:(1)我们没有那多时间,(2)完全学习也用不了那么多
所以我们只要学我们能用到的那一部分即可,
注意:这节课重于理解,我们基本不会使用类去写复杂的代码,学类的目的是为了
- 更好的去理解STL
- 简单的使用
- 使用一些黑科技
类的含义
类的作用是实现面向对象编程.面向对象是相对于面向过程来说的,把事物抽象成一种"数据类型"
,这种"数据类型"
同时具有数据(数值)和方法(函数),同时具有继承,派生等功能,我们把这种"数据类型"
称为"类"
样列代码
代码1:
c
#include <iostream>
#include <string>
using namespace std;
const double pi=3.14;
struct _circle{
int x,y; //圆心坐标
int r;//圆周长
_circle(){}
_circle(int r):r(r){}
_circle(int x,int y,int r):x(x),y(y),r(r){}
double getM(){
return pi*r*r;
}
double getC(){
return 2*pi*r;
}
};
int main(){
_circle circle1;
_circle circle2(10);
_circle circle3(1,2,3);
cout << "circle1 length :" << circle1.getC() << endl;
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
构造函数
类的构造函数是类的一种特殊的成员函数,它会在每次创建类的新对象时执行。
构造函数的名称与类的名称是完全相同的,并且不会返回任何类型,也不会返回 void。构造函数可用于为某些成员变量设置初始值。
- 无参数的构造函数
- 带参数的构造函数
- 初始化列表
c
#include <iostream>
#include <string>
using namespace std;
struct studentClass{
string name;
unsigned int age;
string grant;
studentClass(){} // 无参数的构造函数
studentClass(string Name,unsigned int Age){ //带参数的构造函数
name = Name;
age = Age;
}
//初始化列表
studentClass(string Name,unsigned int Age,string Grant):name(Name),age(Age),grant(Grant){}
string getName(){
return name;
}
void changeName(string s){
name =s;
}
int getAge(){
return age;
}
};
int main(){
studentClass s1;
studentClass s2("s2",18);
studentClass s3("s3",20,"highSchool");
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33