首页 > 编程语言 >C++学习笔记-----类和构造函数

C++学习笔记-----类和构造函数

时间:2024-06-13 23:32:58浏览次数:25  
标签:struct 继承 C++ public ----- 默认 class 构造函数

类和结构体

classstruct的区别在于class默认是private的而struct默认是public的
struct 继承自另一个 struct 或 class 时,默认继承方式是 public 继承
class 继承自另一个 class 或 struct 时,默认继承方式是 private 继承
class 继承自 struct,则默认继承方式还是 public,以保持 struct 的开放性
两者的内存位置取决于其声明创建的位置,局部函数则存于栈,全局则存于全局区

构造函数和析构函数

构造函数:非成员函数,并且在创建对象时由编译器自动调用执行一次,可以重载
析构函数:在对象销毁时自动调用,回收内存空间,只有一个并且无参
构造函数可以在创建对象时使用小括号把构造参数传进去,以下是构造函数中无参、有参、拷贝的示例:

class Person{
public:
	int age;
	Person(){
		cout<<"non-parameter constructor "<<endl;
	}
	Person(int a){
		age = a;
		cout<<"Parameterized constructor"<<endl;
	}
	Person(const Person &p){
		age = p.age;
		cout<<"copy constructor "<<endl;
	}
	~Person(){
		cout<<"Destructor function call "<<endl;
	}
};
void test(){
	Person p1;
	Person p2(10);
	Person p3(p2);
}
int main(){
	
	test();
	
	system("pause");
	return 0;
}

标签:struct,继承,C++,public,-----,默认,class,构造函数
From: https://www.cnblogs.com/wansuns/p/18246953

相关文章

  • Spring系统学习 - Bean的作用域
    bean作用域介绍Spring框架提供了不同的作用域来管理Bean的生命周期和可见性,这对于控制不同类型的组件和处理并发请求尤其重要。singleton(默认):每个SpringIoC容器只有一个bean实例。当容器创建bean后,它会被缓存起来,后续请求将返回同一个实例。这是默认的作用域,适用于无状......
  • 7-25 数字三角形问题
    7-25数字三角形问题分数10全屏浏览作者 夏仁强单位 贵州工程应用技术学院给定一个由n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形的顶至底的一条路径,使该路径经过的数字总和最大。对于给定的由n行数字组成的数字三角形,计算从三角形的顶至底......
  • SDN VMware NSX网络原理与实践-NSX 网络虚拟化概览【1.3】
    第2章NSX网络虚拟化概览        网络虚拟化技术诞生后,有不少厂商都推出了所谓的网络虚拟化解决方案。这些厂商实现“网络虚拟化”的方式各异,有些是自己研发的项目,有些是通过收购,有些是利用开源项目进行再开发。而VMwareNSX网络虚拟化平台的基本架构到底是怎样......
  • 数字调制解调技术的MATLAB与FPGA实现-数字通信及FPGA概述 【1.2】
    2.信道带宽        接下来再讨论一下通信中经常碰到的信道带宽的概念。从电子电路角度的出发,带宽本意指的是电子电路中存在一个固有通频带。这个概念或许比较抽象,我们有必要做进步的解释。大家都知道,各类复杂的电子电路无一例外都存在电感、电容或相当功能的储能元件,......
  • 2024/6/13-日常练习
    第一章1.试说明数据、数据库、数据库管理系统和数据库系统的概念。答:数据是数据库中存储的基本对象数据库:是存放数据的场所。数据库管理系统:管理数据库数据及其功能的系统软件。数据库系统:由数据库、数据库管理系统、数据库管理员和数据库应用程序共同构成的系统。5.比较用......
  • C语言数据结构实现-静态链表2-基本操作
    上节,我们初步创建了一个静态链表,本节学习有关静态链表的一些基本操作,包括对表中数据元素的添加、删除、查找和更改。本节是建立在已能成功创建静态链表的基础上,因此我们继续使用上节中已建立好的静态链表学习本节内容,建立好的静态链表如图1所示:静态链表添加元素例如,在图1......
  • C语言-运算符
    运算符有几个操作数就是几元运算符1、算术运算符*运算符**描述**操作数个数(几元运算符)**组成的表达式的值**副作用*+正号1操作数本身无-负号1操作数符号取反无+加号2两个操作数之和无-减号2两个操作数之差无*****乘号2两个......
  • kubernetes-ingress-nginx-controller资源-用于管理和处理集群中的 Ingress 资源
    ingress-nginx-controller是一个常用的KubernetesIngress控制器,它基于NGINX实现,主要用于管理和处理集群中的Ingress资源。Ingress资源是Kubernetes中的一种网络入口资源,用于将外部流量路由到集群内部的服务ingress-nginx-controller的功能作用流量管理和路由#1、......
  • JAVA八股文面试必会-基础篇-3.3 分库分表
    1.什么是分库分表?分库分表,是企业里面比较常见的针对高并发、数据量大的场景下的一种技术优化方案,所谓"分库分表",根本就不是一件事儿,而是三件事儿,他们要解决的问题也都不一样。这三个事儿分别是"只分库不分表”、"只分表不分库"、以及"既分库又分表"。分库分库主要解决的......
  • Whisper语音识别 -- 自回归解码分析
    前言Whisper是由OpenAI开发的一种先进语音识别系统。它采用深度学习技术,能够高效、准确地将语音转换为文本。Whisper支持多种语言和口音,并且在处理背景噪音和语音变异方面表现出色。其广泛应用于语音助手、翻译服务、字幕生成等领域,为用户提供了更流畅的语音交互体验......