C++ 类、结构体

C++ 类、结构体

类可以将变量、数组和函数完美地打包在一起。

类与结构体

类的定义:

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

		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 << endl;
        }
        
        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);       // 正确!set_age()是共有成员变量
    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"<<name<<endl;
		}

		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];

相关推荐

  1. C++ 结构

    2024-01-17 05:26:03       50 阅读
  2. C# 结构

    2024-01-17 05:26:03       40 阅读
  3. C++基础——结构

    2024-01-17 05:26:03       36 阅读
  4. 结构(4)

    2024-01-17 05:26:03       53 阅读
  5. 结构(5)

    2024-01-17 05:26:03       51 阅读
  6. QT-结构

    2024-01-17 05:26:03       30 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-17 05:26:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-17 05:26:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-01-17 05:26:03       87 阅读
  4. Python语言-面向对象

    2024-01-17 05:26:03       96 阅读

热门阅读

  1. 文件包含介绍

    2024-01-17 05:26:03       55 阅读
  2. Nginx解析域名到指定端口

    2024-01-17 05:26:03       46 阅读
  3. 24校招,得物测试开发工程师一面

    2024-01-17 05:26:03       57 阅读
  4. sklearn快速实现python机器学习算法

    2024-01-17 05:26:03       45 阅读
  5. TCP服务器和客户端的创建步骤

    2024-01-17 05:26:03       51 阅读
  6. 1.1 面试经典 150 题-合并两个有序数组

    2024-01-17 05:26:03       59 阅读
  7. 设计模式——组合模式

    2024-01-17 05:26:03       49 阅读
  8. js 什么是外边距重叠怎么解决

    2024-01-17 05:26:03       43 阅读