C++中类与对象
作者:互联网
本周学了C++的类与对象,复习一下。
目录
1.类与对象的定义
C++中的类可以看作是C语言中结构体的升级版。C语言中结构体只等定义变量,而C++中的类则可以定义变量和函数。
一个例子:
class Student{
public:
char *name;
int age;
float score; //成员变量
void say()
{
cout<<name<<"的年龄是"<<age<<",成绩是"<<score<<endl;
}//成员函数
};
而通过类定义出来的变量也有特定的称呼,叫做“对象”。
2.类的使用
先看一段代码
#include <iostream>
using namespace std;
class Student {
public:
char *name;
int age;
float score;
void say() {
cout<<name<<"的年龄是"<<age<<",成绩是"<<score<<endl;
}
};
int main() {
//通过类来定义变量,即创建对象
class Student stu1; /*我们先通过 class 关键字定义了一个类 Student,然后又通过 Student 类创建了一个对象 stu1。变量和函数都是类的成员,创建对象后就可以通过点号.来使用它们。*/
//为类的成员变量赋值
stu1.name = "王某";
stu1.age = 19;
stu1.score = 100;
//调用类的成员函数
stu1.say();
return 0;
}
我们先通过 class 关键字定义了一个类 Student,然后又通过 Student 类创建了一个对象 stu1。变量和函数都是类的成员,创建对象后就可以通过"."来使用它们。
3.C++类成员的访问权限
C++通过 public、protected、private 三个关键字来控制成员变量和成员函数的访问权限,它们分别表示公有的、受保护的、私有的,被称为成员访问限定符。在类的内部,无论成员被声明为 public、protected 还是 private,都是可以互相访问的,没有访问权限的限制。
在类的外部,只能通过对象访问成员,并且通过对象只能访问 public 属性的成员,不能访问 private、protected 属性的成员。
#include <iostream>
using namespace std;
//类的声明
class Student{
private: //私有的
char *m_name;
int m_age;
float m_score;
public: //共有的
void setname(char *name);
void setage(int age);
void setscore(float score);
void show();
};
//成员函数的定义
void Student::setname(char *name){
m_name = name;
}
void Student::setage(int age){
m_age = age;
}
void Student::setscore(float score){
m_score = score;
}
void Student::show(){
cout<<m_name<<"的年龄是"<<m_age<<",成绩是"<<m_score<<endl;
}
int main(){
Student stu;
stu.setname("王某");
stu.setage(15);
stu.setscore(92.5f);
stu.show();
Student *pstu = new Student;
pstu -> setname("李某");
pstu -> setage(16);
pstu -> setscore(96);
pstu -> show();
return 0;
}
成员函数 setname()、setage() 和 setscore() 被设置为 public 属性,是公有的,可以通过对象访问。
private 后面的成员都是私有的,直到有 public 出现才会变成共有的;public 之后再无其他限定符,所以 public 后面的成员都是共有的。
成员变量大都以m_开头,这是约定成俗的写法,不是语法规定的内容。以m_开头既可以一眼看出这是成员变量,又可以和成员函数中的形参名字区分开。
以 setname() 为例,如果将成员变量m_name的名字修改为name,那么 setname() 的形参就不能再叫name了,得换成诸如name1、_name这样没有明显含义的名字,否则name=name;这样的语句就是给形参name赋值,而不是给成员变量name赋值。
因为三个成员变量都是私有的,不能通过对象直接访问,所以必须借助三个 public 属性的成员函数来修改它们的值。
4.总结
这只是类的简单的知识,如何定义类,创建对象,类的用法和类成员的知识。
标签:name,对象,成员,C++,void,Student,public,中类,变量 来源: https://blog.csdn.net/ssz3148812410/article/details/121888394