首页 > 编程语言 >《C++》类和对象2

《C++》类和对象2

时间:2023-06-15 23:02:04浏览次数:31  
标签:Person 对象 Dg age C++ class int public

初始化列表

class Person
{
 public:
  Person() :a(10),b(20),c(30)
  {
    cout<<"初始化列表的调用"<<endl;
  }
  int a;
  int b;
  int c;
};

静态成员函数

  • 程序共享一个函数
  • 静态成员函数只能访问静态成员变量
#include <iostream>
using namespace std;
class Compute
{
public:
	static int Dg(int n)
	{
		if (n == 1)
			return 1;
		else
			return n+Dg(n-1);
	}
};

int main()
{
	int ret = Compute::Dg (100);
	cout << ret << endl;
	system("pause");
	return 0;
}

静态成员的两种访问方式:通过对象访问,通过类名访问

this指针

class Person
{
public:
	Person(int age)
	{
		this->age = age;
	}
	int age;
};

标签:Person,对象,Dg,age,C++,class,int,public
From: https://blog.51cto.com/u_16071993/6495521

相关文章

  • c++多线程 std::async std::future
    c++标准库中对线程操作有完善的封装,其中最常用到的如std::thread,std::async。EffectiveModernCpp中指出,应尽量使用std::async即基于任务的编程而非基于线程的编程。std::thread在前面的文章有提到过,此处仅对std::async作以记录。正如前面所说,std::async是基于任务的策略,本人理......
  • 【初识C++】(关键字,命名空间)
    @TOC一、C++中的关键字二、命名空间命名空间是对于全局变量来说,我们在定义变量或函数时,函数名可能会和库中的函数名产生冲突。比如:报错的意思是:库中存在rand这个函数,而我又定义一个rand这个变量,所以会产生名字的冲突。为了解决这个问题,C++引入了命名空间这个概念。而与该命名空间的......
  • C++学习(二)
    拷贝构造函数对象1=对象2:默认的拷贝构造函数1#include<iostream>2usingnamespacestd;34structPerson{5intage;6stringname;7};89intmain(){10Personp1={10,"张三"};11cout<<"age:"<<p1.......
  • C++学习(三)
    static静态修饰的变量,必须先声明,再实现,例如1classPerson{2public:3starticintage;4starticinitAge(){5//运行异常6age=10;7}8}91011正确写法12classPerson......
  • C++学习(四)
    对象继承1#include<iostream>2usingnamespacestd;34classPerson{5public:6intage;7char*name;8Person(char*name,intage){}9};10//类默认是私有的11//public:公开继承,不加public会导致main()函数中student.age无法引用......
  • C/C++《数据结构》课程设计指导书[2023-06-15]
    C/C++《数据结构》课程设计指导书[2023-06-15]《数据结构》课程设计指导书适用专业:计算机2022级编写人:李玉龙2023年5月《数据结构》课程设计指导书一、设计目的1、训练学生灵活应用所学数据结构知识,独立完成问题分析,结合数据结构理论知识,编写程序求解指定问题;2.初步掌握软......
  • C/C++器材信息管理系统[2023-06-15]
    C/C++器材信息管理系统[2023-06-15]使用C++程序设计语言,完成一个项目,项目名为:器材信息管理系统,要实现的功能如下,且每项功能具有数据校对验证:1、实现新器材的录入,包括器材的名称、录入日期、购买价钱等信息;2、当有器材借用需求时,进行借用登记,主要流程为:查询器材数量,若库存数量大......
  • [问题解决]:ImportError: /home/test/anaconda3/envs/py39/bin/../lib/libstdc++.so.6
    报错(py39)test@test:~/code/Face/test_speed$pythonface_yaw_pitc_roll.pyTraceback(mostrecentcalllast):File"/home/test/code/Face/test_speed/face_yaw_pitc_roll.py",line17,in<module>importdlibFile"/home/test/anacon......
  • 面向对象编程-实例属性和类属性
    在实例中绑定属性,和直接在类种绑定属性是不一样的,实例中绑定的只能在实例中用如果Student类本身需要绑定一个属性,所有实例都可以访问,那么可以这么定义classStudent(object):name='Student'点击查看代码classStudent(object):score=100#定义类属性def__in......
  • 《深入探索C++对象模型》- 第一章 - 关于对象 - 笔记
    额外负担:主要由virtual引起1.1C++对象模式简单对象模型(ASimpleObjectModel)Objectptr1->Data1ptr2->Function1ptr3->Function2ptr4->Data2……表格驱动对象模型(ATable-drivenObjectModel)ObjectDatamembertableptrMemberfunctiontab......