When assigning attributes, what does single ":" colon do? What is going on with Profile::Profile?

This is from “The Object of Your Affection” project. I don’t understand the use of the single colon “:” when passing in values, and I don’t understand what’s going on with the double colon in “Profile::Profile”.
Thank you

Profile::Profile(std::string new_name, int new_age, std::string new_city, std::string new_country, std::string new_pronouns) : name(new_name), age(new_age), city(new_city), country(new_country), pronouns(new_pronouns){

}

Link to assignment:
Learn C++ | Codecademy