Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...


Explain when u will use Observer pattern and how u will
implement in c++ .



Explain when u will use Observer pattern and how u will implement in c++ ...

Answer / subeetha

The observer pattern (a subset of the asynchronous
publish/subscribe pattern) is a software design pattern in
which an object, called the subject, maintains a list of
its dependents, called observers, and notifies observers
automatically of any state changes, usually by calling one
of their methods. It is mainly used to implement
distributed event handling systems.


Sample Program:
#include <iostream>
#include <vector>
using namespace std;

class Subject {
// 1. "independent" functionality
vector < class Observer * > views; // 3. Coupled only
to "interface"
int value;
public:
void attach(Observer *obs) {
views.push_back(obs);
}
void setVal(int val) {
value = val;
notify();
}
int getVal() {
return value;
}
void notify();
};

class Observer {
// 2. "dependent" functionality
Subject *model;
int denom;
public:
Observer(Subject *mod, int div) {
model = mod;
denom = div;
// 4. Observers register themselves with the Subject
model->attach(this);
}
virtual void update() = 0;
protected:
Subject *getSubject() {
return model;
}
int getDivisor() {
return denom;
}
};

void Subject::notify() {
// 5. Publisher broadcasts
for (int i = 0; i < views.size(); i++)
views[i]->update();
}

class DivObserver: public Observer {
public:
DivObserver(Subject *mod, int div): Observer(mod, div){}
void update() {
// 6. "Pull" information of interest
int v = getSubject()->getVal(), d = getDivisor();
cout << v << " div " << d << " is " << v / d
<< '\n';
}
};

class ModObserver: public Observer {
public:
ModObserver(Subject *mod, int div): Observer(mod, div){}
void update() {
int v = getSubject()->getVal(), d = getDivisor();
cout << v << " mod " << d << " is " << v % d
<< '\n';
}
};

int main() {
Subject subj;
DivObserver divObs1(&subj, 4); // 7. Client configures
the number and
DivObserver divObs2(&subj, 3); // type of Observers
ModObserver modObs3(&subj, 3);
subj.setVal(14);
}
14 div 4 is 3
14 div 3 is 4
14 mod 3 is 2

Is This Answer Correct ?    3 Yes 0 No

Post New Answer

More STL Interview Questions

What does stl stand for in basketball?

0 Answers  


Describe how to safeguard a system through acquisition of an antivirus Program and systematic backup.

0 Answers  


What are the different types of stl containers?

0 Answers  


write a c++ program to create an object of a class called employee containing the employee code name designation basic salarry HRA Da gross salary as data 10 such objects "members process "

1 Answers  


if 4-5 year old brother is standing on d roof with me and watching d moon, suddenly moon coverd by cloud then how will i explain d hiding of moon to my brother.

8 Answers   MBT,


Difference between Structure and Class in C++?

5 Answers   Caritor,


In what scenario does the Logical file and Physical file being used?

0 Answers   informatics,


Question 1)Read the data from one file and remove all the duplicated words and generate an output file containg only using words.Program should also print number of occurance of each words on standard output.(Program must be use STL and iostream object). Question 2)Write a program to convert the lower case contents of file to upper case using STL. Question 3)What is the output of this problem. int i=12; int &r =i; r+r/4; int +p =&r; int *p = &r; P+=r; return 1; Answer :a)12 b)17 c) 30 d)24 E)15 Question 4) #include #include #include void main() { char srcstr[30],desstr[30]; int i,len; clrscr(); cout<<"\nenter the string\n"; cin>>srcstr; len=strlen(srcstr); for(i=0;srcstr[i]!='\0';i++) { desstr[--len]=srcstr[i]; } desstr[i]='\0'; cout<<"\nreversed string is\n"; for(i=0;desstr[i]!='\0';i++) { cout< } getch(); } Answer : A) string output b)tuptuo gnirts c) string d)output Question 5) Class Test { static const Tk=LEN; int q; public: foo(intx =LEN):q(x){}; TGet Q() const { return q:} void call test Foo<long :9> foo(10); std::const<< foo.Getq(); Answer: 7,8,9,10,11 question 6) class A { int a; char b; }; class B:public A { char b; int a; }; What is the size? Answer a)5 bytes for class A and 5 bytes class B b)4 bytes for class A and 8 bytes class B. c).... d)....

2 Answers   Bally Technologies,


WHAT IS FIBONACCI SERIES?

4 Answers   Stewart,


what is an algorithm in terms of STL?

1 Answers   Lucent, Wipro,


Describe the My Computer and My Documents folders; identify the elements that are present in every Window.

0 Answers  


Here are the questions and paper pattern from a Birlasoft previous placement paper held at Kolkata, West Bengal. There are two sections 1. Technical questions - 20 2. Aptitude questions - 25 Birlasoft Technical Multiple Choice Questions: Largest integer can be written from 8 bits is a. 256 b. 255 c. 8 d. 10 Change a hexadecimal no to octal How many address lines needed to pass 1MB of data. What is the function of the modulus operator in most language. a) Sets a system environmental value to either base 10 ,base 8 or base 16 b) Returns the remainder after dividing one number by another c) Returns the first argument raised to the second argument power d) Prints out the actual code written to standard output rather than executing the code class professor{} class teacher: public virtual professor{}; class researcher: public virtual professor {} class myprofessor :public teacher,public researcher {}; Referring to the sample code above ,if an object of class myprofessor were created ,how many instances of professor will it contain? a) 0 b) 1 c) 2 d) 3 Modern RDBMS s perfom the following the following functionc except _______. a) Force column values in one table to match any of the values in a column of another table b) Automatically replicate data on another server c) Automatically create new indexes based on query history d) Prevent unauthorized users from accessing data at the firls level RDBMS triggers are typically bound to a _________and one or more a) Table,SQL statement types b) SQL statement type,user c) Column,rows d) User, table What relationship is resolved by an intersecting or associative entity ? a) Recursive b) Mandatory one to one c) Many to Many d) One to One Make a copy of file upper in the directory two levels up . a) jump -2 upper b) cp upper ../..(answer) c) cp upper -2/ d) None of the above i = 0; j = 0; for(j=1;j<10;j++) i=i+1; In the (generic) code segment above what will be the value of the variable i at completion ? a) 0 b) 1 c) 3 d) 9 e) 10 Which of the following statements is true when a derivation inherits both a virtual and non-virtual instance of a base class ? a) Each derived class object has base objects only from the non virtual instance b) Each base class object has derived objects only from the non-virtual instance c) Each derived class object has base objects only from the virtual instance d) Each derived class object has a base object from the virtual instance and a base object from non-virtual instance. class Word { public: Word(const char*,int = 0); }; Referring to the sample code above what is the minimum number of arguments required to call the constructor ? a) 0 b) 1 c) 2 d) 3 What is the function of the modulus operator in most languages ? a) Sets a system environmental value to either base 10 ,base 8 or base 16 b) Returns the remainder after dividing one number by another c) Returns the first argument raised to the second argument power d) Prints out the actual code written to standard output rather than executing the code lass professor{} class teacher: public virtual professor{}; class researcher: public virtual professor {} class myprofessor :public teacher,public researcher {}; Referring to the sample code above ,if an object of class ? myprofessor? were created ,how many instances of professor will it contain? a) 0 b) 1 c) 2 d) 3 Modern RDBMS?s perfom the following the following functionc except a) Force column values in one table to match any of the values in a column of another table b) Automatically replicate data on another server c) Automatically create new indexes based on query history d) Prevent unauthorized users from accessing data at the firls level Which is not the characteristics of a view ? a) Consumes Disk space for data b) Multiple tables c) Multiple rows d) Updateable Technical Questions for computer science engineering students placement paper - cse branch tech / technical interview and written test paper questions from sql, rdbms, queries, c language, programming, etc. The questions are multiple choice / objective type. RDBMS triggers are typically bound to a ________and one or more ________ a) Table,SQL statement types b) SQL statement type,user c) Column,rows d) User, tables What relationship is resolved by an ?intersecting? or ? associative? entity ? a) Recursive b) Mandatory one to one c) Many to Many d) One to One Make a copy of file ?upper? in the directory two levels up . a) jump -2 upper b) cp upper ../.. c) cp upper -2/ d) None of the above Birlasoft Aptitude Section Questions: Question like A is engg. B is doctor C is artist etc then few condition related to them you have give answer to 4 or 5 qs on these conditions . same as above with different data and conditions. 3 qs onfinding error in english sentences If father is three times as old as son . 5 years ago he was 4 times age of his son what is son age. Same as above but now daughter and mother joined in and age in question is that of daughter. A figure is given find no of traingles in this figure Same as above but figure is diffrent and find no of squares and triangles. See other latest free online Birlasoft India placement exam test papers here with technical hr interview candidate real experiences from all over india - submitted by college freshers and company campus recruitment drives.

0 Answers   BirlaSoft,


Categories