首页 > 其他分享 >类、结构体、指针

类、结构体、指针

时间:2024-10-18 20:43:39浏览次数:6  
标签:Node cout int private 指针 string 结构

1、类的定义

class Person
{
	private:
		int age,height;
		double money;
		string books[100];
	public:
		string name;
		
		void say()
		{
			cout<<"I'm"<<name;
		}
		int get_age()
		{
			return age;
		}
		void add_money(double x)
		{
			money+=x;
		}
}

类中的变量和函数被统一称为类的成员变量。

private后面的内容是私有成员变量,在类的外部不能访问;public后面的内容是公有成员变量,在类的外部可以访问。

类的使用:

#include <iostream>

using namespace std;

const int N = 1000010;

class Person
{
	private:
		int age,height;
		double money;
		string books[100];
	public:
		string name;
		
		void say()
		{
			cout<<"I'm"<<name<<" ";
		}
		int set_age(int a)
		{
			age = a;
		}
		
		int get_age()
		{
			return age;
		}
		
		void add_money(double x)
		{
			money += x;
		}
} Person_a,person_b,persons[100];

int main()
{
	Person c;
	
	c.name = "yxc";
	c.age = 18;
	c.set_age(18);
	c.add_money(100);
	
	c.say();
	cout<<c.get_age()<<endl;
	
	return 0;
}

结构体和类的作用是一样的。不同点在于类默认是private,结构体默认是public。

struct Person
{
	private:
		int age,height;
		double money;
		string books[100];
		
	public:
		string name;
		
		void say()
		{
			cout<<"I'm"<<" ";
		}
		
		int set_age(int a)
		{
			age = a;
		}
		
		int get_age()
		{
			return age;
		}
		
		void add_money(double x)
		{
			money += x;
		}
}Person_a,person_b,Persons[100];

2、指针和引用

指针指向存放变量的值的地址。因此我们可以通过指针来修改变量的值。

#include <iostream>

using namespace std;

int main()
{
	int a=10;
	int *p = &a;
	
	*p += 5;
	cout<<a<<endl;
	
	return 0;
}

数组名是一种特殊的指针。指针可以做运算:

#include <iostream>

using namespace std;

int main()
{
	int a[5] = {1, 2, 3, 4, 5};
	
	for(int i = 0;i < 5;i ++)
		cout<<*(a+i)<<endl;
		
	return 0;
}

引用和指针相似,相当于给变量起了个别名。

#includ <iostream>

using namespace std;

int main()
{
	int a = 10;
	int &p = a;
	
	p += 5;
	cout << a << endl;
	
	return 0;
}

3、链表

#include <bits/stdc++.h>

using namespace std;
struct Node
{
	int val;
	Node*next;
	
	
	
};
void sc(Node*head)
{
	if(nullptr==head->next)
	{
		return;
	}
	while(head!=nullptr)
	{
		cout<<head->val<<" ";
		head=head->next;
	}
}
int main()
{
	Node*n0= new Node;
	Node*n1= new Node; 
	Node*n2= new Node;
	
	n0->val=0;
	n1->val=1;
	n2->val=2;
	
	n0->next=n1;
	n1->next=n2;
	n2->next=nullptr;
	
	sc(n0); 
	return 0;
}

标签:Node,cout,int,private,指针,string,结构
From: https://www.cnblogs.com/yxy123456/p/18474993

相关文章

  • 数据结构与算法 课程随记
    因为有时候需要在不同设备编辑同一份文档,本地不太方便了,先在放着博客园比较省事吧。但是博客园是不是快要四了啊,没事再整一个个人博客吧。内容非常杂,因为不想去上课所以还是有点东西不会,就记录一下查不会东西的时候学会的东西。没什么参考价值。Classhttps://www.runoob.com/c......
  • 数据结构(JAVA)包装类&泛型
    文章目录包装类基本数据类型和对应的包装类装箱和拆箱面试题泛型什么是泛型泛型的语法泛型类的使用泛型的使用裸类型(RawType)(仅需了解)擦除机制泛型的上界泛型方法包装类基本数据类型和对应的包装类注意,除了int基本数据类型的包装类是Integer和char基本数据类......
  • 【信奥赛·C++基础语法】CSP-J C++ 指针与引用
    序言指针和引用是非常重要的概念,它们提供了对内存的直接访问和操作方式,使得程序员能够更加灵活地处理数据哈,理解指针和引用的工作原理以及正确使用它们,对于编写高效、安全的C++程序至关重要。一、指针的基本概念指针的定义和作用指针是一个变量,它存储了另一个变量的内......
  • 83. 删除排序链表中的重复元素 线性法&快慢双指针
    83.删除排序链表中的重复元素给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。示例1:输入:head=[1,1,2]输出:[1,2]示例2:输入:head=[1,1,2,3,3]输出:[1,2,3]提示:链表中节点数目在范围 [0,300] 内-100<=......
  • C++ 基础-面试题01(C和C++区别、C结构体和C++结构体区别、C和C++ static区别、a和&a区
    1.C和C++的区别特性CC++编程范式面向过程编程面向对象编程+面向过程编程+泛型编程类和对象不支持类和对象支持类和对象,封装、继承、多态等特性标准库标准库有限,如stdio.h、stdlib.h丰富的标准库,如STL(容器、算法)函数和运算符重载不支持支持内存管理手动管理,使用malloc......
  • C++ 基础-面试题02(final和override关键字、sizeof和strlen区别、strcpy、sprintf 与me
    1.final和override关键字在C++中,final和override关键字是在面向对象编程中用于处理类的继承和多态的。它们主要用于管理派生类和虚函数,提供额外的安全性和代码可读性,防止意外的函数重写或错误的重载行为。1.final关键字final关键字用于防止进一步的继承或函数重......
  • C++顺序结构(3)、数据类型_____教学
    一、设置域宽setw()输出的内容所占的总宽度成为域宽,有些高级语言中称为场宽。使用setw()前,必须包含头文件iomanip,即#include<iomanip>头文件iomanip,用来声明一些“流操作符”,需要一定格式输入输出时,就需要用到它,比较常用的有设置域宽、设置左右对齐、设置实数的精确度等。set......
  • 04C++顺序结构(3)
    一、设置域宽setw()输出的内容所占的总宽度成为域宽,有些高级语言中称为场宽。使用setw()前,必须包含头文件iomanip,即#include<iomanip>头文件iomanip,用来声明一些“流操作符”,需要一定格式输入输出时,就需要用到它,比较常用的有设置域宽、设置左右对齐、设置实数的精确度等。set......
  • Stratix® 10 SX SoC FPGA结构图— 1SX040HH3F35E2LG 1SX040HH3F35E3XG 1SX040HH3F35I
    Stratix®10SXSoCFPGA结构图英特尔®Stratix®10SoCFPGA结合了四核ARM*Cortex*-A53MPCore*硬处理器系统与革命性的英特尔®Hyperflex™FPGA架构,为嵌入式应用提供了必要的嵌入式性能、功效、密度和系统集成。针对数百万个逻辑元件(LE)FPGA设计优化的全新引擎......
  • Stage模型应用程序包结构
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(MaoistLearning)➤博客园地址:为敢技术(https://www.cnblogs.com/strengthen/ )➤GitHub地址:https://github.com/strengthen➤原文地址:https://www.cnblogs.com/strengthen/p/......