const-求助为何加号重载失败

问题描述

求助为何加号重载失败
#include
#include
using namespace std;

struct A {
int n;
A() { };
A(int n_ ):n(n_) { }
A operator+( A& p){
A tmp(n+p.n);
return tmp;
}
};

int main()
{
A c;
const A a(10);
c = a + A(30);
cout << c.n << endl;
return 0;
}

解决方案

 #include <iostream>#include <string>using namespace std;struct A {int n;A() { };A(int n_ ):n(n_) { }A operator+(A p) const {A tmp(n+p.n);return tmp;}};int main(){A c;const A a(10);c = a + A(30);cout << c.n << endl; return 0;}

解决方案二:
http://codepad.org/x5aI9sHR
在线编译通过

时间: 2024-07-31 11:53:19

const-求助为何加号重载失败的相关文章

类-谁能帮我看下下面这段代码,多项式乘法和+=操作运行不了,求助啊,到底错在哪了

问题描述 谁能帮我看下下面这段代码,多项式乘法和+=操作运行不了,求助啊,到底错在哪了 #include #include using namespace std; class Polynomial { double *p_coefs; int *p_exps, num; public: Polynomial(); Polynomial(double coefs[], int exps[], int size);//系数数组.指数数组和项数 Polynomial(const Polynomial

const的思考

1.什么是const?   常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的.(当然,我们可以偷梁换柱进行更新:) 2.为什么引入const? const 推出的初始目的,正是为了取代预编译指令,消除它的缺点,同时继承它的优点. 3.cons有什么主要的作用?    (1)可以定义const常量,具有不可变性.         例如:              const int Max=100;              int Array[Max];    

MyEclipse10启动失败,打不开了

问题描述 MyEclipse10启动失败,打不开了 错误提示: the configuration area at 'D:Program FilesmyEclipse10.7MyEclipse 10configuration' is not writable. Please choose a writable location using the '-configuration' command line option 解决方案 求助:myeclipse10破解失败 解决方案二: http://

C++语言基础 例程 重载流插入运算符和流提取运算符

贺老师的教学链接  本课讲解 重载流插入运算符"<<" #include <iostream> using namespace std; class Complex { public: Complex( ) { real=0; imag=0; } Complex(double r,double i) { real=r; imag=i; } Complex operator + (Complex &c2); //运算符"+"重载为成员函

c++ 尽量不要使用#define 而是用const、enum、inline替换。_C 语言

例如:这里程序文件开头有如下#define语句 复制代码 代码如下: #define N 10 #define PI 3.14 #define MAX 10000 #define Heigth 6.65 ... ... 假设这里程序运行出错误,而且就是在我们使用这些常量有错误,此时编辑器应该会抛出错误信息.如果该信息提示6.65这里有错误,Ok如果你运气好你正好记得或者程序简单一眼能找到6.65表示什么,如果程序很复杂,而且报出6.65的文件是引用该文件,不记得,那么你会困惑这是什么?或许会花大

(一三五)第十二章编程练习

1.对于下面的类声明 class Cow{ char name[20]; char * hobby; double weight; public: Cow(); Cow(const char*nm, const char * ho, double wt); Cow(const Cow &c); ~Cow(); Cow & operator=(const Cow &c); void ShowCow() const; //display all cow data }; 给这个类提供实现

C++ Primer 第一部分基本语言_C 语言

第1章 快速入门 1,介绍main函数的意义和其基本结构,return语句.不同平台下编译与执行程序.2,两个类isrteam与otream与它们的实例对象cin,cout,cerr,clog.说明了程序中基本的输入与输出."<<"与">>"作为操作符,左操作符是一个iostream 对象,右操作符是一个变量.返回值仍为一个iostream对象,所以输入或输出可以这样 cout<<"a="<<a&l

C/C++基础总结

1 static(静态)变量有什么作用 3个体明显的作用:1)在函数体内,静态变量具有"记忆"功能,即一个被声明为静态变量在一个函数被调用的过程中其值维持不变2)在模块内,它的作用域范围是有限制的,即如果一个变量被声明为静态的,那么该变量可以被模块内所有函数访问,但不能被模块外其他函数访问.3)内部函数应该在当前源文件中说明和定义,对于可在当前源文件以外使用的函数,应该在一个头文件中说明,使用这些函数的源文件要包含这个头文件. 与局部变量和全局变量的区别:static全局变量和普通全局

C++ POCO库中文编程参考指南(6) Poco::Timestamp

1 类型别名 三个时间戳相关的类型别名,TimeDiff表示两个时间戳的 差,第二个是以微秒为单位的时间戳,第三个是以 100 纳秒(0.1 微妙)为单 位的时间戳: typedef Int64 TimeDiff; /// difference between two timestamps in microseconds typedef Int64 TimeVal; /// monotonic UTC time value in microsecond resolution typedef In