🎁个人主页:我们的五年
🔍系列专栏:C++课程学习
🎉欢迎大家点赞👍评论📝收藏⭐文章
目录
🍟1.1类的引出:
🍟1.2类的结构:
🍟1.3类的两种定义方法:
🍟1.4成员变量命名的建议:
前言:
C语言是一门面向过程的语言,而C++是一门面向对象的语言。
1.C语言:
关注的是过程,解决提出的问题要逐步调用函数来解决。
2.C++:
C++是面向对象,关注的是对象,其他的有相应的方法。
🍟1.1类的引出:
类是在结构体上引出来的,在C语言中,结果体只可以里面只能有数据。而在C++中,结构体中可
以定义函数。而C++中就这把这变成的类(class),但是与结构体还是有区别的,比如:
1.结构体里面的数据全部是公开(public)的,因为C++要兼容C语言。定义了一个结构体,我们可以直接在main函数访问结构体里面的数据。
2.类如果什么都不写的情况下,数据都是私有的(private)。
3.C++中的结构体也不需要加struct。
#include<iostream>
using namespace std;
//结构体
struct Data1{
int _year;
int _month;
int _day;
};
//类
class Data2{
public:
int _year;
int _month;
int _day;
};
int main()
{
Data2 a;
a._year = a._month = a._day = 1;
//Data1 a;
//a._year = a._month = a._day = 1;
cout << a._year<<endl;
}
🍟1.2类的结构:
class classname{
//类体:
//1.成员函数
//2.成员变量
}; //和结构体一样,后面有;
class classname{
//类体:
//1.成员函数
//2.成员变量
}; //和结构体一样,后面有;
这些东西大家看看就行:class类的关键字,classname类的名称,{}类的主体,还有后面的封号;;
大家需要看的就是:
类里面的内容分为两种:
1.类里面的数据叫成员变量,或者类的属性,但是我觉得,把它看成类的属性更能突出面向对象,
关注的对象。
2.类里面的函数叫成员函数,或者类的方法。还是一样的,我觉得,类的方法更能突出其面向对象的特点。
🍟1.3类的两种定义方法:
两种方法的主要区别也就是,是否类的方法都在类里面进行声明和定义。
1.类的方法都在类里面声明和定义:
这种情况下,编译器会把函数当成内联函数进行处理。
#include<iostream>
using namespace std;
class Data {
public:
//声明和定义都在类里面
void print() {
cout << "print()" << endl;
}
private:
int _data;
};
int main()
{
Data a;
a.print();
}
2.类的方法的声明和定义分开,声明在类里面,定义不在类里面:
声明放在.h文件种,定义在.cpp文件中。
#include<iostream>
using namespace std;
class Data {
public:
//声明
void print();
private:
int _data;
};
//定义:
void Data::print() {
cout << "声明和定义分离" << endl;
}
int main()
{
Data a;
a.print();
}
🍟1.4成员变量命名的建议:
一般我们介意在类的变量名称中加入一些符号以区分。
一般的就是在名字前面加_,或者在名字后面加_。不同的公司有不同的命名方式。
比如:
#include<iostream>
using namespace std;
class Data {
public:
//声明
void print();
private:
//在data前面加上_
int _data;
};
//定义:
void Data::print() {
cout << "声明和定义分离" << endl;
}
int main()
{
Data a;
a.print();
}