class MyString{private: string s; int sum;public: MyString() {} MyString(char *p) { sum=0; s=p; int i; for(i=0;i<s.length();i++) sum+=(s[i]-0); } friend MyString operator>(MyString &,MyString &); void show() {cout<<s<<" "<<sum<<endl;}};MyString operator>(MyString &A,MyString &B){ if(A.sum>=B.sum) return A; else return B;}
这是定义的类,然后错误如下图
好厉害..能解释下这个吗?
MyString(const MyString& ins)
{
this->sum = ins.sum;
this->s = ins.s;
}
没学太懂
你百度一下:复制构造函数 或者 拷贝构造函数
本回答被提问者采纳C++ 派生类构造函数的调用顺序的一道题目
首先:“类A的默认构造函数 类A的默认构造函数 类B的默认构造函数 类A的默认构造函数 类A的默认构造函数 类B的默认构造函数”来自B b1[2]; 的定义 “类A的构造函数 类A的构造函数 类B的构造函数 类B的析构函数 类A的析构函数 类A的析构函数"是源自b1[0]=B(1,2,3); 的初始化,注...
C++构造函数和析构函数详解
在上一个章节我们在创建好类的对象之后,首先对它的每一个成员属性赋值之后再对它们进行输出操作,如果不赋值就输出,这些值就会是垃圾值。而为了代码的简介,一次性为所有成员属性初始化,C++的类提供了这样的一个函数—构造函数。C++提供构造函数来处理对象的初始化。1、构造函数是一种特殊的成员...
C++类的问题,构造函数和析构函数
C(k) ---> 调用类 C的构造函数C(int k){cout<<"C ";} --->输出字符 C a(i) --->a是A类的对象引用,调用类 A 的构造函数A(int i){cout<<"A ";} --->输出字符 A b(j) --->b是B类的对象引用,调用类 B的构造函数B(int j){cout<<"B ";} --->输出字符...
c++~ 请问在类里面构造函数必须是public吗 可以定义到private吗_百度知...
1、首先拷贝构造函数是一种特殊的构造函数,函数名与类名相同,它的一个参数必须是本类型的一个引用变量,无函数类型、返回值。2、对象通过另一个对象初始化。3、运行如下图所示。4、接着输入函数的参数为类对象。5、运行结果,如下图所示,就完成了。
类的设计,构造函数和析构函数 c\/c++
一、类的设计 1.类的声明 class 类名 { private: \/\/私有 ...public: \/\/公有 ...};2.类的成员 一般在C++类中,所有定义的变量和函数都是类的成员。如果是变量,我们就叫 它数据成员如果是函数,我们就叫它成员函数。3.类成员的可见性 private和public访问控制符决定了成员的可见性。由一个...
在c++中如何用new生成一个构造函数带参数的类数组?
2.C++ new用法之一 new运算符 最常用的是作为运算符的new,比如:string *str = new string(“test new”);作为运算符,new和sizeof一样,是C++内置的,你不能对它做任何的改变,除了使用它。new会在堆上分配一块内存,并会自动调用类的构造函数。C++ new用法之二 new函数 第二种就是new函数,...
C++中用new运算符创建一个类的数组指针会调用类的构造函数吗
当然会执行,不论是什么情况,只要你实例化了一个类也就是当你创建了一个对象时,就会自动调用构造函数。
C++ 类中的类成员变量怎么调用带参数的构造函数来初始化?
要调用带参的构造函数,必须这样做:include "stdafx.h"class A { public:A(){ax = 0;};A(int a){ax = a;};int ax;};class B { public:\/***\/ B(int b) : bx(b) \/\/这样调用 { } B() : bx(0) \/\/这样也行 { } \/***\/ void print(){ printf("%d", bx.ax)...
C+++给一个类的构造函数传一个数组,怎么弄?
struct stu{ char name[10];int math;};class student{ public:student(stu stu[]){ for(int i=0;i<10;i++)num[i]=stu[i];} void display(){ for(int i=0;i<5;i++){ cout<<num[i].name<<" : "<<num[i].math<<endl;} } stu num[10];};int main(){ stu num[10]...
...在子类构造函数初始化列表里调用基类构造函数?
\/\/如果基类没有默认构造函数,则子类的构造函数必须要给定基类的构造函数参数。因为,在类的实例化时是先执行基类构造函数在执行子类构造函数。子类构造函数初始化列表后面直接列出基类构造函数即可,系统会自动调用,不用用户调用。class A{ public:A(int x,int y):x(x),y(y){} private:int x; ...