类是 C++ 的核心特性,通常被称为用户定义的类型。
类用于指定对象的形式,它包含了数据表示法和用于处理数据的方法。类中的数据和方法称为类的成员。函数在一个类中被称为类的成员。
定义了类的名称意味着什么,也就是说,它定义了类的对象包括了什么,以及可以在这个对象上执行哪些操作。
class Box { public: double length; // 盒子的长度 double breadth; // 盒子的宽度 double height; // 盒子的高度 };
Box Box1; // 声明 Box1,类型为 Box Box Box2; // 声明 Box2,类型为 Box
类的对象的公共数据成员可以使用直接成员访问运算符 (.) 来访问。
#include<iostream> using namespace std; class man{ public: char name[12]; int age; #include<iostream> #include<cstring> using namespace std; class man{ public: char name[12]; int age; }; int main(){ man m1; strcpy(m1.name,"webcyh"); m1.age=12; cout<<m1.name; return 0; }
~ "19.cpp" 18L, 191C written [root@VM_0_11_centos gcc]# g++ 19.cpp -o 19.c [root@VM_0_11_centos gcc]# ./19.c webcyh[root@VM_0_11_centos gcc]#
需要注意的是,私有的成员和受保护的成员不能使用直接成员访问运算符 (.) 来直接访问。我们将在后续的教程中学习如何访问私有成员和受保护的成员。
类中的函数成员定义以及使用
#include<iostream> #include<cstring> using namespace std; class man{ public: char name[12]; int age; };
class animal{
public:
int age;
int getage();
};
int animal::getage(){
return age;
};
/*
或者
class animal{ public: int age; int getage(){
return age;
}
};
*/ int main(){ man m1;//声明一个人类 animal a1;//声明一个动物类 strcpy(m1.name,"webcyh"); m1.age=12; cout<<m1.name; a1.age=12; cout<<a1.getage(); return 0; }
[root@VM_0_11_centos gcc]# ./19.c webcyh12[root@VM_0_11_centos gcc]#
成员函数可以定义在类定义内部,或者单独使用范围解析运算符 :: 来定义
类修饰符
每个标记区域在下一个标记区域开始之前或者在遇到类主体结束右括号之前都是有效的。成员和类的默认访问修饰符是 private。
class Base { public: // 公有成员 protected: // 受保护成员 private: // 私有成员 };
私有成员变量或函数在类的外部是不可访问的,甚至是不可查看的。只有类和友元函数可以访问私有成员。
class Box { public: double length; void setWidth( double wid ); double getWidth( void ); private: double width; };
box.setWidth(10.0); // 使用成员函数设置宽度
// box.width = 10.0; // Error: 因为 width 是私有的
保护成员变量或函数与私有成员十分相似,但有一点不同,保护成员在派生类(即子类)中是可访问的。继承的子类也可以访问
原文:https://www.cnblogs.com/webcyh/p/11269292.html