C++中构造函数重载

   这篇文章主要介绍了C++中构造函数重载的相关资料,十分的详细,需要的朋友可以参考下

  ?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35

#include<stdio.h>
class Test
{
private:
int i;
int j;
int k;
public:
Test()
{
i=j=k=0;
}
Test(int v)
{
i=j=k=v;
}
void print()
{
printf("i= %d, j=%d, k=%d n",i,j,k);
}
};
int main()
{
Test t1(1);
Test t2=2;
Test t3=Test(3);
t1.print();
t2.print();
t3.print();
Test TA[3];
for(int i=0; i<3;i++)
{
TA[i].print();
}
}


  当类中没有定义构造函数时,C++编译器自动提供无参构造函数和拷贝构造函数

  当类中定义了任意的拷贝构造函数,C++不提供无参构造函数。

  系统自动提供的构造函数

  无参构造函数

  函数体为空

  拷贝构造函数

  简单的进行成员变量的值复制

  Test t1;

  Test t2=t1; ///t2简单的复制t1中成员变量的值

  以上所述就是本文的全部内容了,希望大家能够喜欢。

时间: 2024-10-25 09:21:31

C++中构造函数重载的相关文章

C++中构造函数重载_C 语言

#include<stdio.h> class Test { private: int i; int j; int k; public: Test() { i=j=k=0; } Test(int v) { i=j=k=v; } void print() { printf("i= %d, j=%d, k=%d \n",i,j,k); } }; int main() { Test t1(1); Test t2=2; Test t3=Test(3); t1.print(); t2

关于构造函数重载的问题

问题描述 Java中构造函数重载是怎样写的?public class MicroBlog { public static String HAS="1"; public static String HAS_NO="0"; private String pushId; private String memberId; private String pushName; private String content; private String photo; privat

C++中操作符重载的const与默认构造函数

问题描述 C++中操作符重载的const与默认构造函数 原代码 class TestOverloadLessThan { public: TestOverloadLessThan( int m ) : m_int(m){}; int getInt(){ return m_int;}; bool operator<( const TestOverloadLessThan& t) const { return ( this->getInt() < t.getInt() ); }; p

解析C++中构造函数的默认参数和构造函数的重载_C 语言

C++构造函数的默认参数 和普通函数一样,构造函数中参数的值既可以通过实参传递,也可以指定为某些默认值,即如果用户不指定实参值,编译系统就使形参取默认值. [例] #include <iostream> using namespace std; class Box { public : Box(int h=10,int w=10,int len=10); //在声明构造函数时指定默认参数 int volume( ); private : int height; int width; int l

解析C++中不能重载为友元函数的四个运算符

以下是对C++中不能重载为友元函数的四个运算符进行了详细的分析介绍,需要的朋友可以过来参考下   C++规定有四个运算符 =, ->, [], ()不可以是全局域中的重载(即不能重载为友员函数),这是为什么呢? 现在先说说赋值运算符"="的重载 C++规定赋值运算符"="只能重载为类的非静态成员函数,而不可以重载为类的友元函数. 不能重载为类的静态成员应该比较容易理解,因为静态成员函数是属于整个类的,不是属于某个对象的,它只能去操作类静态数据成员.而赋值运算符

《从零开始学Swift》学习笔记(Day 39)——构造函数重载

原创文章,欢迎转载.转载请注明:关东升的博客   构造函数作为一种特殊方法,也可以重载. Swift中构造函数可以多个,他们参数列表和返回值可以不同,这些构造函数构成重载. 示例代码如下: class Rectangle { var width: Double var height: Double init(width: Double, height: Double) { self.width = width self.height = height } init(W width: Double

os-c++中运算符重载 这个小程序怎么不对呢

问题描述 c++中运算符重载 这个小程序怎么不对呢 #include using namespace std; class R{ public : int n; int d; R(int a,int b) { this->n=a; this->d=b; } }; ostream operator<< (ostream &os,R &r) { // os<<r.n<<endl; // os<<r.d<<endl;; os

c++中构造函数和构造方法有区别吗?

问题描述 c++中构造函数和构造方法有区别吗? class info{ private: char b_name[30]; char b_sex[10]; int b_age; info(char name[], char sex[], int age){ strcpy((char *)(b_name), (char *)(name)); strcpy((char *)(b_sex), (char *)(sex)); b_age = age; } char *getname() { return

C#中构造函数和析构函数用法实例详解_C#教程

本文实例讲述了C#中构造函数和析构函数用法.分享给大家供大家参考,具体如下: 构造函数与析构函数是一个类中看似较为简单的两类函数,但在实际运用过程中总会出现一些意想不到的运行错误.本文将较系统的介绍构造函数与析构函数的原理及在C#中的运用,以及在使用过程中需要注意的若干事项. 一.构造函数与析构函数的原理 作为比C更先进的语言,C#提供了更好的机制来增强程序的安全性.C#编译器具有严格的类型安全检查功能,它几乎能找出程序中所有的语法问题,这的确帮了程序员的大忙.但是程序通过了编译检查并不表示错误