オブジェクト A を参照属性としてオブジェクト B に送信し、オブジェクト B 内でオブジェクト A の getter メソッドを呼び出したいと考えています。以下のコードではエラーが発生します。
myClass.cpp:11: エラー: 'const myClass' を 'int myClass::getNum()' の 'this' 引数として渡すと、修飾子が破棄されます
// Main file: class_method_test.cpp
#include <iostream>
#include <iomanip>
#include "myClass.h"
using namespace std;
int main()
{
myClass objA = myClass( 2 );
myClass objB = myClass( 3 );
objA.calc(objB);
cout << objA.getNum() << endl;
objB.print();
}
// myClass.h
#ifndef MYCLASS_H
#define MYCLASS_H
#include <string>
class myClass{
private:
int myNum;
std::string anyText;
public:
myClass();
myClass(int);
void calc(const myClass &);
int getNum();
void print();
void setText(std::string);
std::string getText();
};
#endif
// myClass.cpp
#include <iostream>
#include "myClass.h"
using namespace std;
myClass :: myClass() : myNum(0) {};
myClass :: myClass ( int aNum ) : myNum( aNum ) {};
void myClass :: calc( const myClass & calcObj )
{
myNum += calcObj.getNum();
};
int myClass :: getNum()
{
return myNum;
};
void myClass :: print ()
{
cout << myNum << endl;
};
void myClass :: setText(std::string newText) {
anyText = newText;
}
string myClass :: getText() {
return anyText;
}