notas de clase c ++

Si usa variables globales en C++, puede agregar:: antes de la variable

p.ej:

#incluir <iostream>

usando namespcae std;

intx;

int principal(){

        enterox=1;

        cout<<"local x"<<x<<endl;

        cout<<"global x "<<::x<<endl;

        devolver 0;

}

Sustitución de macros sin parámetros

const doble pi=3.1415926

#definir pi 3.14

Sustitución de macros con parámetros

diversión doble en línea (a, b) {return a+b;} 

#define MEZCLA(a,b) ((a)*(b) + (b))

objeto constante

const nombre de clase nombre de objeto

El constructor de un objeto constante debe copiarse con parámetros formales, en lugar de asignarse entre llaves

miembro de datos constante

Funciones de miembros constantes: se pueden usar para llamar a miembros de datos de salida, pero no se pueden modificar

Si algunos datos en el objeto van a ser de solo lectura, es necesario modificar los miembros de datos constantes con const

Si todos los datos de miembros deben ser de solo lectura, puede usar const para modificar el objeto, pero en este momento debe usar const para modificar la función de miembro constante; de ​​lo contrario, no puede llamar a la función que no es miembro

En C++, después de agregar el miembro de datos de la clase con mutable , se puede modificar como una función de miembro const y se puede modificar.

puntero constante

1. Un puntero constante a un objeto

Student stud1(10, 78.5);
Student* const p = &stud1; //El puntero constante no se puede modificar, el puntero constante siempre apunta a un objeto durante la ejecución del programa, y ​​el puntero constante no puede apuntar al objeto constante, este es el objeto

 2. Un puntero a un objeto constante

const Student stud1(10, 78.5);
const Student *p = &stud1;

静态成员函数

用静态成员函数只能直接访问静态成员,不能直接访问非静态成员

静态成员函数定义:

static 类型 成员函数(形参表){...}

友元

通过友元访问别的类的私有成员,友元不是成员函数,不属于类

破坏封装性,尽量少使用

friend 类型 类1::成员函数 //这种是在一个类中声明一个友元函数,可以在这个类中调用别的类成员

friend 类型 函数y(类2 &对象)    //这种可以用普通函数输出类的数据成员

class Time{

public:

        Time(int a,int b):x(a),y(b){}

        friend void display(Time &){}   //通过这个友元函数,可以在外部写一个函数 也可以调用类内的数据成员

        friend void Date::display(Date &){}   //这个就是调用别的类的成员函数

private:

        int x;int y;

}

void display(Time time){  //这个函数是全局的依然可以调用类内的private数据 就是依靠友元

        cout<<time.x<<" "<<time.y;

}

Supongo que te gusta

Origin blog.csdn.net/weixin_62705892/article/details/127052226
Recomendado
Clasificación