Cascading

أنشِئ Class :

اسمه: MyAge

المتغيرات : Year , Month , Day

يحوي :  Set functions و Print Function  و  default constructor.

* يجب أن تُكتب الـ functions حتى نستطيع أن نقوم بعمل Cascading Call في Main functions .

-قم بفصل الـ Class interface  في header file و Class implementation في cpp file

الحل:

طريقة كتابة الـ function حتى نستطيع القيام بعمل Cascading Call هي أن

  1. يكون الـ return type لها هو object من نفس نوع الـ Class بهذه الطريقة  ( & ClassName  ) .

  2. أن تكون الـ return value هي pointer للـ object الذي قام باستدعاء هذه الـ function وهو *this .

//.h
#include <iostream>
using namespace std; 

class MyAge
{
public:
 MyAge();
 MyAge &My_yers(int);
 MyAge &My_month(int);
 MyAge &My_day(int);
 void print();


private:
 int year;
 int month;
 int day;

};
------------------------------------------------------
//.cpp
#include <iostream>
#include "MyAge.h"
using namespace std;

MyAge::MyAge(){ year = 0; month = 0; day = 0; } //default constructor

MyAge & MyAge::My_yers(int y)
{
 year = y; //initialize years
 return *this; //return value
}

MyAge & MyAge::My_month(int m)
{
 month = m; //initialize month
 return *this; //return value
}

MyAge & MyAge::My_day(int d)
{
 day = d; //initialize day
 return *this; //return value
}

void MyAge::print()
{
 cout << year << "/" << month << "/" << day << endl; /*ptint out years and months */
}
-----------------------------------------------
//main
#include <iostream>
#include "MyAge.h"
using namespace std;

void main()
{
 MyAge age;

 age.My_yers(2000).My_month(1).My_day(20).print(); //Cascading Call

 system("pause");

}


Advertisements
اقتباس

Syntax Error: Const Variable and Sending by Reference

لايمكن إرسال Const Variable بطريقة By reference إلى دالّة .

#include <iostream>
using namespace std;

void fun(int);

void main()
{
   const int ConstVar = 3; //const variable
    fun(ConstVar); 
}
void fun(int & a) // (&) Cause an Error
{
}

 

الخطأ الناتج:

Error 1 error LNK2019: unresolved external symbol “void __cdecl fun(int)” (?fun@@YAXH@Z) referenced in function _main C:\Users\Amjad\documents\visual studio 2013\Projects\myBlog\myBlog\main.obj myBlog

Error 2 error LNK1120: 1 unresolved externals C:\Users\Amjad\documents\visual studio 2013\Projects\myBlog\Debug\myBlog.exe 1 1 myBlog