Доступ к элементам класса
Доступ к элементам или полям класса можно осуществить тремя способами:
- имя представителя класса.имя элемента;
- имя класса: :имя элемента;
- указатель на представитель класса->имя элемента.
Пример 1
#include <stdio.h> class А {public: float b,c;
void setbc(float bb) {b=bb;} };
void main() {A var; A *varptr=&var;
var.b=0.2; varptr->c=0.3; var.setbc(4); varptr->setbc(5); }
Пример 2
#include <stdio.h> #include <math.h> #define n 3 class prnt
{char c; int i; float h; int *p; double q[n]; public:
void prn(char d, int a, float f) { c=d; i=a; h=f; *p=3; q[2]=sin(h);
printf("Hello! %c%f%d%e\n",c,h+i,*p,q[2]); } int geti(); }; int prnt::geti() {return i;} void main() { prnt sd; sd.prn('H',2,2.5);
printf("geti=%d\n",sd.geti()); }
Класс всегда содержит специальные элементы-функции с тем же именем, что и класс - конструктор и деструктор. Конструктор вызывается всегда, когда создается представитель класса, а деструктор - когда уничтожается представитель класса. Если эти функции не описаны явно, то компилятор генерирует их по умолчанию. Для этих специальных функций справедливо следующее:
- для них не указывается возвращаемый тип;
- они не могут возвращать значение;
- они не наследуются;
- они не могут быть объявлены const, volatile, static;
- деструктор не может иметь аргументов;
- деструктор может быть объявлен virtual, а конструктор нет.
Комментарии (0)