C++---面向对象
2021-06-14 20:03
标签:清理 ble 关键字 方式 core 中心 public 括号 指针 第一种实例化方式---在栈内存中创建, 类似声明变量 第二种实例化方式---在堆内存中创建, 使用new关键字 C++---面向对象 标签:清理 ble 关键字 方式 core 中心 public 括号 指针 原文地址:https://www.cnblogs.com/KX-Lau/p/12822971.html面向对象oop
类和对象
类的声明
//LandOwner.h中
class LandOwner {
public:
LandOwner(); //默认构造函数
~LandOwner(); //默认析构函数
string name;
long score;
int cards[20];
void TouchCard(int); //摸牌
bool PlayCard(int); //出牌
void ShowScore(); //查看积分
}
//LandOwner.cpp中
LandOwner::LandOwner()
{
}
void LandOwner::TouchCard(int cardCount)
{
cout
创建对象
类型 对象名(参数列表);
Student stu();
Student stu;
Student* p_stu1 = new Student();
Student* p_stu2 = new Student;
auto* p_stu3 = new Student();
类的成员变量
//函数声明
class 类名 {
修饰符1:
变量类型 变量名;
修饰符2:
函数返回类型 函数名();
}
class LandOwner {
public:
string name;
long socre;
public:
void ShowScore();
}
//函数定义
//:: 作用域解析运算符
返回类型 类名::函数名()
{
//函数操作
}
void LandOwner::ShowScore()
{
}
访问修饰符
构造与析构函数
构造函数
类名::构造(类型 参数)
{
//相关初始化代码
}
Student::Student(string name, string desc)
{
m_name = name;
m_desc = desc;
}
//可以简写
Student::Student(string name, string desc) : m_name(name), m_desc(desc)
{
}
Student* stu = new Student("大白", "超能陆战队");
析构函数
~
class Student {
private:
double* scores;
public:
Student(int len)
{
//分配资源
scores = new double[len];
}
~Student()
{
//释放资源
delete scores;
}
}
this指针
类名* const
, 为右值//访问成员变量
this->成员名;
//访问成员函数
this->函数名();
class Student {
public:
Student& addScore(int score);
}
Student& Student::addScore(int score){
this->score = this->score + score;
return *this;
}
上一篇:Java进阶 - 数据结构、List、Set、Collections工具类
下一篇:Leetcode练习(Python):链表类:第23题:合并K个排序链表:合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。