Skip to content
On this page

C++类类型的讲解

前言

C++是面向对象的语言,类类形是实现面向对象的主要形式,可以说类是C++的核心. 想要完全学会类要花很长的时间,对于我们竞赛而言:(1)我们没有那多时间,(2)完全学习也用不了那么多

所以我们只要学我们能用到的那一部分即可,

注意:这节课重于理解,我们基本不会使用类去写复杂的代码,学类的目的是为了

  1. 更好的去理解STL
  2. 简单的使用
  3. 使用一些黑科技

类的含义

类的作用是实现面向对象编程.面向对象是相对于面向过程来说的,把事物抽象成一种"数据类型",这种"数据类型"同时具有数据(数值)方法(函数),同时具有继承,派生等功能,我们把这种"数据类型"称为"类"

样列代码

代码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

构造函数

类的构造函数是类的一种特殊的成员函数,它会在每次创建类的新对象时执行。

构造函数的名称与类的名称是完全相同的,并且不会返回任何类型,也不会返回 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

参考/引用