1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
KIM [24]
3 years ago
8

Write a Twitter class that sets the Twitter user first (who is to be followed) and lets the client add up to 5 followers, which

will be stored in an array with a capacity of 5. The user can be of type string or Profile; each follower can also be of type string or Profile.
Computers and Technology
1 answer:
SSSSS [86.1K]3 years ago
6 0

Answer:

C++ code explained below with its sample outputs

Explanation:

Twitter.h

========

#ifndef Twitter_h

#define Twitter_h

#include <iostream>

using std::string;

using std::cout;

using std::endl;

template <typename T>

class Twitter

{

private:

string name;

T followers[5];

int numFollowers;

public:

Twitter(string n);

bool AddFollower(T follower);

bool RemoveFollower(T follower);

void PrintFollowers();

};

template <typename T>

Twitter<T>::Twitter(string n)

{

name = n;

numFollowers = 0;

}

template <typename T>

bool Twitter<T>::AddFollower(T follower)

{

if(numFollowers < 5)

{

followers[numFollowers] = follower;

numFollowers++;

return true;

}

else

return false;

}

template <typename T>

bool Twitter<T>::RemoveFollower(T follower)

{

int index;

bool found = false;

for(index = 0; index < numFollowers; index++)

{

if(followers[index] == follower)

{

found = true;

break;

}

}

if(found)

{

//shift all other followers after the one to be removed to one position left

for(++index; index < numFollowers; ++index)

{

followers[index-1] = followers[index];

}

numFollowers--;

return true;

}

else

return false;

}

template <typename T>

void Twitter<T>::PrintFollowers()

{

cout << "Followers for " << name << endl;

for(int i = 0; i < numFollowers; i++)

cout << followers[i] << endl;

 

cout << "------" << endl << endl;

}

#endif /* Twitter_h */

main.cpp

=========

#include "Twitter.h"

#include <iostream>

using namespace std;

struct Profile {

string userName;

int age;

string state;

};

 

ostream& operator << (ostream & output, Profile p) {

output << p.userName;

return output;

}

bool operator == (const Profile &p1, const Profile p2)

{

return p1.userName == p2.userName;

}

int main()

{

Twitter<string> t1("John");

Twitter<Profile> t2("Bob");

 

cout << "Adding followers to John" << endl;

t1.AddFollower("Bill");

t1.AddFollower("Jack");

t1.PrintFollowers();

 

Profile p1 = {"Alice", 20, "Alaska"};

Profile p2 = {"Janet", 22, "California"};

Profile p3 = {"Jim", 20, "Texas"};

 

cout << "Adding follower profiles to Bob" << endl;

t2.AddFollower(p1);

t2.AddFollower(p2);

t2.AddFollower(p3);

t2.PrintFollowers();

 

cout << "Removing Bill from John" << endl;

t1.RemoveFollower("Bill");

 

cout << "Removing Janet's profile from Bob" << endl << endl;

t2.RemoveFollower(p2);

 

t1.PrintFollowers();

t2.PrintFollowers();

 

 

 

}

output

-======

Adding followers to John

Followers for John

Bill

Jack

------

Adding follower profiles to Bob

Followers for Bob

Alice

Janet

Jim

------

Removing Bill from John

Removing Janet's profile from Bob

Followers for John

Jack

------

Followers for Bob

Alice

Jim

------

You might be interested in
Review how to write a for loop by choosing the output of this short program.
Natalija [7]

This for loop will output:

0

2

4

The range(3) is all the integers between 0 inclusive and 3 exclusive. 0, 1, 2.

Every iterations through the for loop, we multiply the value of each number by 2 and print it to the console.

0 * 2 = 0

1 * 2 = 2

2 * 2 = 4

I hope this helps.

5 0
3 years ago
Read 2 more answers
Why did England establish the Sugar Act?
Iteru [2.4K]

Answer:

The Revenue Act of 1764, also known as the Sugar Act, was the first tax on the American colonies imposed by the British Parliament. Its purpose was to raise revenue through the colonial customs service and to give customs agents more power and latitude with respect to executing seizures and enforcing customs law.

Explanation:

Hope this helps- Good luck ^w

4 0
3 years ago
A domain name points to a specific internet address known as a? A. Domain name B. User name C. URL D. IP address
hodyreva [135]
C, URL since the other options aren’t addresses at all
6 0
4 years ago
Why is this python code giving me problems?
dalvyx [7]

Answer:

The answer to this question is given below in the explanation section.

Explanation:

The given code in this program has syntax errors.

In the given code, at line 1, input will cast or convert to int. It will generate an error on the second line because integer numbers can't be rounded. In simple, integer numbers don't have decimals. So, to correct the line you must use float instead of int.

In the second line, you need also to emit the int casting (data type conversion), because you have already converted the input into the float. In line 3, the second parameter to print function is num3, not x.

So the correct lines of the python code are given below:

num3 = float(input("Please input a decimal number:"))

num3 = (round(num3, 2))

print ("your decimal rounded to the 2nd decimal place is:", num3)

 

When you will run the above bold lines of code, it will run the program successfully without giving you any syntax and semantic error.

6 0
3 years ago
You are a website designer for a travel website. You have to design an enchanting website. The website should be interactive. Me
levacccp [35]

Answer:

the graphics are lilttle images inside

Explanation:

6 0
4 years ago
Other questions:
  • You can use the_______key if your cursor is at the end of the word. Use the______key if you place the cursor on the left side of
    11·1 answer
  • How would you determine if your earned credits would transfer to a regionally accredited school?
    14·2 answers
  • Which of the following is a proper use of the application NetStumbler?Which of the following is a proper use of the application
    10·2 answers
  • A news report says that company XYZ network was attacked by outsiders, who apparently sent a lot of spoofed ARP requests/respons
    15·1 answer
  • Thomas has decided to key an agenda for the FBLA meeting using a column format. What is recommended to guide the reader’s eye an
    15·1 answer
  • Why were spices very important 500 yr and what did people use them for
    8·1 answer
  • Which of these is NOT an example of a GUI?
    7·1 answer
  • What is the output?
    12·1 answer
  • What is meant by editing a document​
    5·2 answers
  • 4. Return the card number, first name, last name, and average late fee of each customer. Name this column as "Fee".
    12·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!